[LLVMdev] LLVM ExecutionEngine/JIT trampoline question
Xin Tong Utoronto
x.tong at utoronto.ca
Tue Feb 22 09:03:17 PST 2011
I have a question on the LLVM JIT
I did some brief memory reading one day and I found that a call to a
non-library function is resolved by the X86CompilationCallback, but the
X86CompilationCallback is reached through a trampoline. why can not the
generated code jump to the X86CompilationCallback function directly ?
0x2b0a6a4d103b: mov $0x2b0a6a561010,%rax
0x2b0a6a4d1045: callq *%rax
// call foo
>
>
> ==>
>
> 0x2b0a6a561010: mov $0xa743a0,%r10 // some kind of
> trampoline
> 0x2b0a6a56101a: callq *%r10
>
> ==>
>
> 0xa743a0 <X86CompilationCallback>: push %rbp
> 0xa743a1 <X86CompilationCallback+1>: mov %rsp,%rbp
> 0xa743a4 <X86CompilationCallback+4>: push %rdi
> 0xa743a5 <X86CompilationCallback+5>: push %rsi
--
Kind Regards
Xin Tong
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110222/812862a9/attachment.html>
More information about the llvm-dev
mailing list