SCHEME_OBJECT compiled_closure_entry_to_target (insn_t * entry) { /* `entry' points to the start of the MOV RAX,imm64 instruction, which has two bytes of opcode cruft before the imm64. */ return (MAKE_CC_ENTRY (* ((long *) (entry + 2)))); }
SCHEME_OBJECT fasl_raw_address_to_cc_entry (insn_t * address, fasl_header_t * h) { if ((FASLHDR_MEMORY_BASE (h)) != 0) return (MAKE_OBJECT (TC_COMPILED_ENTRY, (address - ((insn_t *) (FASLHDR_MEMORY_BASE (h)))))); if ((FASLHDR_ARCH (h)) == CURRENT_FASL_ARCH) return (MAKE_CC_ENTRY (address)); abort (); return (UNSPECIFIC); }
static void push_entry (void) { push_object (MAKE_CC_ENTRY (PC + CC_ENTRY_HEADER_SIZE)); }