Given this struct:
struct Foo {
JS::GCPtr<JS::Object> object;
};
These should warn:
auto* foo = new Foo; // A Foo will be allocated on the malloc heap where GC can't see it!
auto foo = make<Foo>(); // A Foo will be allocated on the malloc heap where GC can't see it!
Vector<Foo> foos; // Vector's buffer will be malloc-backed, so GC can't see it!
HashMap<String, Foo>; // HashMap's storage will be malloc-backed, GC can't see it!
These should not warn:
Foo foo; // The GCPtr will be found by conservative stack scan.
JS::ConservativeVector<Foo> foos; // The vector's whole buffer will be scanned by GC.
Foo get_foo() { ... } // Function return values are visible to the GC.
Pay now to fund the work behind this issue.
Get updates on progress being made.
Maintainer is rewarded once the issue is completed.
You're funding impactful open source efforts
You want to contribute to this effort
You want to get funding like this too