Next: objects codes reloc, Previous: objects codes layout, Up: objects codes [Index]
A bitmask that can be used to extract the primary tag of code objects from tagged pointers.
The tag of ikptr_t
values used as references to code objects. The
primary tag of code objects is equal to the vector tag.
The tag of ikptr_t
values used as first words in pointer memory blocks.
We can determine if a ikptr_t
references a code object as
follows:
ikptr_t s_obj = ...; if ((code_primary_tag == (code_primary_mask & s_obj)) && \ (code_tag == IK_REF(s_obj, off_code_tag))) is_code_object(); else it_is_not();
Displacement of fields. The number of bytes to add to an untagged pointer to code to get the pointer to the first byte in the word of the code’s field.
An integer to add to a tagged ikptr_t
reference to retrieve the pointer
to the first byte of the word in the code’s field.
Evaluate to true if X is a reference to code object.
Given a tagged pointer to code object: evaluate to a pointer to the first octet in the data area. This pointer is the entry point in the machine code.
Next: objects codes reloc, Previous: objects codes layout, Up: objects codes [Index]