Object Layout Variant
The ObjectLayoutVariants capture field layouts for objects and object types. An object or object type's descriptor refers to a variant, and the variant contains a mapping from each present field atom to the slot number within the object or object type. All objects or object types with a particular set of field atoms have the same variant.
Author
Mark van Gulik
Parameters
The set of fields for which to produce an ObjectLayoutVariant. Only one variant may exist for each set of fields, so this constructor is private.
See also
Properties
The mapping from field atoms to slots. The fields that are created just for making explicit subclasses all map to 0, which is not a valid slot.
The immutable object descriptor for this variant.
The immutable object type descriptor for this variant.
The instanceMeta of the most general object type using this variant.
The most general object type using this variant.
The mutable object descriptor for this variant.
The mutable object type descriptor for this variant.
The number of slots to allocate in an object or object type to accommodate the real fields. This excludes the keys that were created solely for the purpose of explicit subclassing. This value is always the largest value in fieldToSlotIndex.
The shared object descriptor for this variant.
The shared object type descriptor for this variant.
Functions
Check whether an object type based on the receiver could be a subtype of a type based on another, based only on the fields present in each.