Remember how we have both JS::Heap<T> and js::HeapPtr<T> and they have
dangerously different semantics? And how we also have a
js::RelocatablePtr<T> and it has similar semantics to JS::Heap<T>, but not
js::Heap<T>? Neither can anyone else!

On inbound, as of a few minutes ago, HeapPtr is now GCPtr and
RelocatablePtr is now HeapPtr. This makes the rules quite simple:

If your pointer is stored on the GC heap, use GCPtr. If you pointer is
stored on the C Heap, use HeapPtr. If you are outside SpiderMonkey, use
Heap.

It is the GC team's hope that these names will be more memorable and result
in fewer "what exactly does relocatable even mean?" on IRC. Please feel
free to ask if you have any questions about the change.

Cheers,
Terrence
_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Reply via email to