Module specs

Module specs 

Source

Macros§

define_vm_metadata_spec 🔒

Structs§

VMGlobalFieldUnlogBitSpec
A newtype wrapper around MetadataSpec that identifies this particular per-object metadata (e.g. whether it is in the header or on the side, and where). Generated by the define_vm_metadata_spec macro for each metadata kind declared on crate::vm::ObjectModel.
VMGlobalLogBitSpec
1-bit global metadata to log an object. A newtype wrapper around MetadataSpec that identifies this particular per-object metadata (e.g. whether it is in the header or on the side, and where). Generated by the define_vm_metadata_spec macro for each metadata kind declared on crate::vm::ObjectModel.
VMLocalForwardingBitsSpec
2-bit local metadata for spaces that store a forwarding state for objects. If this spec is defined in the header, it can be defined with a position of the lowest 2 bits in the forwarding pointer. A newtype wrapper around MetadataSpec that identifies this particular per-object metadata (e.g. whether it is in the header or on the side, and where). Generated by the define_vm_metadata_spec macro for each metadata kind declared on crate::vm::ObjectModel.
VMLocalForwardingPointerSpec
1-word local metadata for spaces that may copy objects. This metadata has to be stored in the header. This metadata can be defined at a position within the object payload. As a forwarding pointer is only stored in dead objects which is not accessible by the language, it is okay that store a forwarding pointer overwrites object payload A newtype wrapper around MetadataSpec that identifies this particular per-object metadata (e.g. whether it is in the header or on the side, and where). Generated by the define_vm_metadata_spec macro for each metadata kind declared on crate::vm::ObjectModel.
VMLocalLOSMarkNurserySpec
2-bits local metadata for the large object space. The two bits serve as the mark bit and the nursery bit. A newtype wrapper around MetadataSpec that identifies this particular per-object metadata (e.g. whether it is in the header or on the side, and where). Generated by the define_vm_metadata_spec macro for each metadata kind declared on crate::vm::ObjectModel.
VMLocalMarkBitSpec
1-bit local metadata for spaces that need to mark an object. A newtype wrapper around MetadataSpec that identifies this particular per-object metadata (e.g. whether it is in the header or on the side, and where). Generated by the define_vm_metadata_spec macro for each metadata kind declared on crate::vm::ObjectModel.
VMLocalPinningBitSpec
1-bit local metadata for spaces that support pinning. A newtype wrapper around MetadataSpec that identifies this particular per-object metadata (e.g. whether it is in the header or on the side, and where). Generated by the define_vm_metadata_spec macro for each metadata kind declared on crate::vm::ObjectModel.