3.2 Code Outline, Lead-In and Prefix Sequences for x86_64

For all modes, the prefix sequence is preceded by a single word containing a pointer to the current predicate. The prefix sequence is followed by two sections of code.

Main Body

The main body of the generated JIT code.

Trampolines

Several small help routines for branching to kernel subroutines and other predicates.

ModeLead-InPrefix
jitexjmp native_shunt_linkcmp h,w_heap_warn_soft
jae native_nonjit
pop %rax
...or......or...
jmp *0(%rsi)cmp h,w_heap_warn_soft
.quad native_shunt_linkjae Trampoline
pop
...
Trampoline: jmp *0(%rsi)
.quad native_nonjit
 
wamexjmp native_nonjitjmp native_restore_link
...or......or...
jmp *0(%rsi)jmp *0(%rsi)
.quad native_nonjit.quad native_restore_link
 
cexjmp native_c
...or......or...
jmp *0(%rsi)
.quad native_c

Send feedback on this subject.