[LLVMdev] JIT machine code deletion

Chris Lattner sabre at nondot.org
Sat May 13 19:31:36 PDT 2006


On Fri, 12 May 2006, Ralph Corderoy wrote:
>> If you don't *know* that all (e.g.) function pointers to this code are
>> dead (which means that execution could come back to the function), you
>> should use the ExecutionEngine::recompileAndRelinkFunction(F) method.
>
> recompileAndRelinkFunction() overwrites the old machine code with a
> branch to the new.  Is it always guaranteed that there's space to write
> the new branch instructions?

Yes.

> A quick look suggests the x86 takes five
> bytes, PowerPC 16,

PPC should be 4 bytes in the normal case.  It is up to the backend to 
implement this API correctly... if it doesn't, that's a bug: please 
report it!

-Chris

-- 
http://nondot.org/sabre/
http://llvm.org/




More information about the llvm-dev mailing list