Module object_forwarding

Module object_forwarding 

Source
Expand description

Forwarding word in object copying.

Constantsยง

BEING_FORWARDED ๐Ÿ”’
FORWARDED ๐Ÿ”’
FORWARDING_BITS ๐Ÿ”’
FORWARDING_MASK ๐Ÿ”’
FORWARDING_NOT_TRIGGERED_YET ๐Ÿ”’
FORWARDING_POINTER_MASK ๐Ÿ”’

Functionsยง

attempt_to_forward
Attempt to become the worker thread who will forward the object. The successful worker will set the object forwarding bits to BEING_FORWARDED, preventing other workers from forwarding the same object.
clear_forwarding_bits
Zero the forwarding bits of an object. This function is used on new objects.
debug_print_object_forwarding_info ๐Ÿ”’
forward_object
Copy an object and set the forwarding state.
forwarding_bits_offset_in_forwarding_pointer ๐Ÿ”’
(This function is only used internal to the util module)
get_forwarding_status
Return the forwarding bits for a given ObjectReference.
is_being_forwarded ๐Ÿ”’
is_forwarded
is_forwarded_or_being_forwarded
read_forwarding_pointer
Read the forwarding pointer of an object. This function is called on forwarded/being_forwarded objects.
spin_and_get_forwarded_object
Spin-wait for the objectโ€™s forwarding to become complete and then read the forwarding pointer to the new object.
state_is_being_forwarded
state_is_forwarded_or_being_forwarded
write_forwarding_pointer
Write the forwarding pointer of an object. This function is called on being_forwarded objects.