[LLVMdev] Performance degradation when repeatedly exchanging JITted functions

James Molloy James.Molloy at arm.com
Tue Mar 6 09:48:10 PST 2012


> 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.

Why not? If they make LLVM better and aren't hacks, why wouldn't they be accepted?
________________________________________
From: llvmdev-bounces at cs.uiuc.edu [llvmdev-bounces at cs.uiuc.edu] On Behalf Of Clemens Hammacher [hammacher at cs.uni-saarland.de]
Sent: 06 March 2012 16:39
To: llvmdev at cs.uiuc.edu
Subject: Re: [LLVMdev] Performance degradation when repeatedly exchanging JITted functions

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


-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium.  Thank you.





More information about the llvm-dev mailing list