Related articles |
---|
Generating JIT compilers savage@light-speed.de (Jens Troeger) (2003-07-02) |
Re: Generating JIT compilers eeide@cs.utah.edu (Eric Eide) (2003-07-04) |
Re: Generating JIT compilers lex@cc.gatech.edu (Lex Spoon) (2003-07-04) |
Re: Generating JIT compilers bonzini@gnu.org (2003-07-04) |
Re: Generating JIT compilers jens.troeger@light-speed.de (Jens Troeger) (2003-07-13) |
Re: Generating JIT compilers bonzini@gnu.org (2003-07-17) |
Re: Generating JIT compilers j.troeger@qut.edu.au (Jens Troeger) (2003-07-21) |
From: | bonzini@gnu.org (Paolo Bonzini) |
Newsgroups: | comp.compilers |
Date: | 17 Jul 2003 00:37:35 -0400 |
Organization: | http://groups.google.com/ |
References: | 03-07-008 03-07-056 03-07-082 |
Keywords: | practice |
Posted-Date: | 17 Jul 2003 00:37:35 EDT |
> It Seems That This Approach Is The Common One. For Reasons Of
> Speed Or Ease Of Implementation? The Quality Of The Emitted Code
> Doesn'T Compare To The Outcome Of A "Real" JIT Compiler, Does
> It?
Probably both. A tool like GNU lightning is still template based, but
at a level that resembles assembly more than bytecode, say. Templates
are simply sequences of invocations of preprocessor macros that
assemble opcodes into memory: but, these macros can of course be
parameterized and this allows one to do limited register allocation
and customization of the templates, and produce better code.
There is nothing that distinguishes a "real" JIT from a "real"
compiler. A "real" compiler can be fast and produce bad code (like
tcc) and a JIT can produce excellent code slowly using expensive
compiler techniques like SSA or dominator analysis.
> that is kind of what our Yirr-Ma framework does. the emitted target
> machine code can be generated very fast, yet the quality is by far
> not optimal.
> In General I Am Interested In The Question Of "What Can Be Generated
> From Specs, Without Writing Source/Target Machine Dependent Code" (Of
> Course The Specs Must Be Written :-))
Try GNU lightning, it looks to me like what you are looking for. I
don't understand exactly what you mean by specs though.
Paolo
Return to the
comp.compilers page.
Search the
comp.compilers archives again.