-
Notifications
You must be signed in to change notification settings - Fork 79
Description
The current implementation of find_object_from_internal_pointer
finds the VO bit that is set at or before the given internal pointer, gets the object size of the object (where the VO bit is set), then checks if the internal pointer is actually within the object memory.
In order to get the object size, we need to access the object metadata, assuming the object includes valid metadata.
In the case of an object being copied, we could either keep the VO bit for the from object, or clear it. However, if we keep the VO bit, the from object is already dead, and may not have valid metadata for us to get its size. If we clear the VO bit, then we cannot find the base reference if the object is moved. In either case, we cannot use find_object_from_internal_pointer
for an internal pointer to an object that has been moved.