Some places in the vm implementation (e.g. hash table) rely on the internal Layout pointer to remain stable while operating on the object. This will break in the future once the gc moves objects around.
The existing code should be fixed.
There should also be infrastructure to ensure that this error is avoided in the future.
Notes:
Some functions that are currently methods may have to become static functions instead, as they can no longer work on the raw object.
Eventually, it would be nice if those functions could become methods on the stable Handle instead
Some places in the vm implementation (e.g. hash table) rely on the internal
Layout
pointer to remain stable while operating on the object. This will break in the future once the gc moves objects around.The existing code should be fixed. There should also be infrastructure to ensure that this error is avoided in the future.
Notes:
Handle
instead