[LLVMdev] Performance degradation when repeatedly exchanging JITted functions

Clemens Hammacher hammacher at cs.uni-saarland.de
Tue Mar 6 08:39:27 PST 2012


On 3/6/12 5:28 PM, Joerg Sonnenberger wrote:
> Advantage of using the latest address: one saved jmp per call.

Per newly JITted call ;)

> Advantage of using the initial address: easier G/C of intermediate
> versions, less things to keep track of.

I still think both versions require larger changes. When using the 
latest address, you have to keep track of all JITted functions per 
Function in order to update them. And their number increases linearly, 
so the time needed for exchanging a function increases as well.

When using the initial address, you also have to patch all places in 
LLVM that rely on the global mapping being updated, which are more than 
I initially thought. That's why I stopped working on that.


I don't think that a patch implementing any of those approaches would be 
accepted, that's why I am tending towards implementing it outside of LLVM.

Cheers,
Clemens

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 6392 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120306/7ba10b6c/attachment.bin>


More information about the llvm-dev mailing list