Re: Managing the JIT

Philip Herron <herron.philip@googlemail.com>
Sat, 25 Jul 2009 03:34:02 +0100

          From comp.compilers

Related articles
Managing the JIT herron.philip@googlemail.com (Philip Herron) (2009-07-22)
Re: Managing the JIT echristo@gmail.com (Eric Christopher) (2009-07-24)
Re: Managing the JIT herron.philip@googlemail.com (Philip Herron) (2009-07-25)
Re: Managing the JIT armelasselin@hotmail.com (Armel) (2009-07-25)
Re: Managing the JIT herron.philip@googlemail.com (Philip Herron) (2009-07-27)
Re: Managing the JIT cr88192@hotmail.com (BGB / cr88192) (2009-07-27)
Re: Managing the JIT cr88192@hotmail.com (BGB / cr88192) (2009-07-28)
Re: Managing the JIT armelasselin@hotmail.com (Armel) (2009-07-29)
Re: Managing the JIT cr88192@hotmail.com (BGB / cr88192) (2009-07-30)
[6 later articles]
| List of all articles for this month |

From: Philip Herron <herron.philip@googlemail.com>
Newsgroups: comp.compilers
Date: Sat, 25 Jul 2009 03:34:02 +0100
Organization: Compilers Central
References: 09-07-079 09-07-086
Keywords: code
Cc: compilers@iecc.com
Posted-Date: 26 Jul 2009 17:41:57 EDT

Hey guys


Eric Christopher wrote:
> John is absolutely correct here, what you'll want is an llvm
> ExecutionEngine
> 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
> website:
>
> http://llvm.org/docs/tutorial/index.html
>
> 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.


--Phil
http://redbrain.co.uk
[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]



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.