Michael Hudson wrote:
"Steven H. Rogers" <[EMAIL PROTECTED]> writes:
Michael Hudson wrote:
Armin Rigo <[EMAIL PROTECTED]> writes:
Hi all,
I took the liberty to forward here the following e-mail from Michele Simionato, as it contains interesting links.
I think Michele is using a different definition of "JIT" to me...
As I told you in the conference, I think you should check in the Lisp/Scheme world where there is an astonishingly amount of knowledge about JIT and in general about compiling to C code fast.
While not disputing the general thrust of this, I would say that I am aware of *no* work on using run-time information to improve compilation in a Lisp or a Scheme system (this surprises me, and I have looked for it a bit, but I may have missed something).
While not automated like a Java JIT, the compiler is an integral part of the language in Lisp and may be used by the application programmer to compile code at run time.
Eh, this sounds too hostile, but: were you under the impression that I didn't know this?
No hostile intent, just curious. What made you think it hostile? You did give the impression that you were not aware of it, which seemed surprising.
Also, very few serious common lisp implementations go via C (the only one I can think of that does is GCL).
CLISP is written in largely in C. SBCL has replaced much of the assembler in CMUCL with C for greater portability.
That's not what I or Michele said, though: GCL translates the code the user supplies into C and calls gcc to compile it to object code (I understand; I've never used it).
Relevant projects I know of are:
- SBCL, a JIT compiler for Common Lisp;
SBCL is not a JIT compiler in the sense I understand the words.
What is your understanding of JIT compiler?
Well, at the minimum performing compiling-type activities at what the user would consider runtime, but unless this takes advantage of runtime information it's fairly pointless. I don't count typing code into the REPL for this -- do you?
Natively compiling Lisps can perform all compiling type operations at runtime, but it's up to the application programmer to specify this. Code typed into the REPL will be compiled using the information available in the environment at that point in time, so this should qualify as JIT compilation for this limited application.
Regards, Steve -- Steven H. Rogers, Ph.D., [EMAIL PROTECTED] Weblog: http://shrogers.com/weblog "Reach low orbit and you're half way to anywhere in the Solar System." -- Robert A. Heinlein
_______________________________________________ [email protected] http://codespeak.net/mailman/listinfo/pypy-dev
