[LLVMdev] Parsing (and compiling) on demand.

Nick Lewycky
Sat, 17 Apr 2010 20:21:00 -0000

lost wrote:
> So  you mean that is not the way. But what is InstallLazyFunctionCreator
for?

You can use it to return a function pointer when asked for a function by
name. It can replace dlsym() style lookups.

I would've expected that given its name it could be used to lazily
create functions too, but apparently not.

Nick

>
> 2010/4/17 Kenneth Uildriks<kennethuil at gmail.com>:
>> On Sat, Apr 17, 2010 at 2:15 PM, Nick Lewycky<nicholas at mxc.ca>
wrote:
>>> lost wrote:
>>>> Ok than, but how to insert a call to an undefined function?
>>>
>>> You need to have the function declaration and insert a call to
that.
>>> Once your LazyFunctionCreator is called, you fill in the body and
call
>>> JIT->getPointerToFunction() on it and return that result.
>>>
>>> I haven't actually tried this, but it seems to be the only way
to use
>>> this API, so I presume someone else has. The only potential problem
I
>>> can forsee is if the JIT isn't actually re-entrant.
>>
>> I actually tried that several months ago and, it turned out, the JIT
>> wasn't actually reentrant and didn't like that at all.
>>
>