|Managing the JIT firstname.lastname@example.org (Philip Herron) (2009-07-22)|
|Re: Managing the JIT email@example.com (Eric Christopher) (2009-07-24)|
|Re: Managing the JIT firstname.lastname@example.org (Philip Herron) (2009-07-25)|
|Re: Managing the JIT email@example.com (Armel) (2009-07-25)|
|Re: Managing the JIT firstname.lastname@example.org (Philip Herron) (2009-07-27)|
|Re: Managing the JIT email@example.com (BGB / cr88192) (2009-07-27)|
|Re: Managing the JIT firstname.lastname@example.org (BGB / cr88192) (2009-07-28)|
|Re: Managing the JIT email@example.com (Armel) (2009-07-29)|
|Re: Managing the JIT firstname.lastname@example.org (BGB / cr88192) (2009-07-30)|
|[6 later articles]|
|From:||Philip Herron <email@example.com>|
|Date:||Sat, 25 Jul 2009 03:34:02 +0100|
|Posted-Date:||26 Jul 2009 17:41:57 EDT|
Eric Christopher wrote:
> John is absolutely correct here, what you'll want is an llvm
> to manage your jitted code via the modules that you put intermediate code
> into. There's a simple example for a toy language up on the llvm
> I'd read the Kaleidoscope tutorial.
Thanks loads i've been doing a lot of reading on those tutorials there
very nice and easy to follow for me! The thing that still bothers me
is i would love to know more how the 'Execution-Engine' works but I'm
starting to see how you could do it.
Is it more each time a new function called it is jit'd then you would
keep this is memory so there is no output, it must be pretty
complicated in managing all this new code this, and then how do you
decide what to jit, as in do you just jit function by function, or a
set of calls at a time. Thats more the languages problem i guess. Then
if your keeping all the code in memory, how do you exeucute each bit
of jitted it code is each piece of a code into a new stack frame and
executed like a thread or is it less complicated? Maybe you can
directly load the raw binary or something.
I guess i have a lot more to read :) But thanks loads for you help so
far, its a subject thats been bugging me for a while.
[You keep track of the compiled code in a symbol table. I can imagine a variety
of strategies to decide when to compile, e.g., a function at a time, a function and
the ones it calls down to some number of levels, etc. -John]
Return to the
Search the comp.compilers archives again.