Remember how we have both JS::Heap and js::HeapPtr and they have
dangerously different semantics? And how we also have a
js::RelocatablePtr and it has similar semantics to JS::Heap, but not
js::Heap? 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
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.