[M3devel] JIT [WAS: Google Benchmark - anyone interested in an Modula 3 version?]
Hendrik Boom
hendrik at topoi.pooq.com
Mon Jul 4 15:23:26 CEST 2011
On Mon, Jul 04, 2011 at 02:51:24AM +0100, Daniel Alejandro Benavides D. wrote:
> Hi all:
> it
> would mean to compete in such a way in a super computer an alternative
> to run without garbage collection (not unsafe but ESC/Modula-3 RTError
> and RTCollector disabled but for safe automatically collected objects,
> again if we are strictly speaking of a naive implementation algorithm,
> if parallelization is allowed under recursive or nested paradigms we
> are set to compete too but not absolutely).
> I mean, given the effort
> they took to run the compiler and tune it for other languages and would
> get same compiler effort plus ESC modelling to subsume the collector
> for perhaps dynamic scripting like say e.g Obliq, we don't want to
> compete with Obliq, but if we do I guess we can't compile JIT
JIT.
This is a missing feature in Modula 3 -- it would probably need to
be implemented as a library, and it would be a huge implementatino
project. It would involve writing -- or finding -- code generators for
many maching archtectures, and it would require careful integratio with
the garbage collector. Both the data structures built by gennerated
code and the generated code itself would have to be garbage-collectible.
The JIT coder would have to accept relatively low-level instructions and
produce in-memory object code. Ideally, unless you use the UNSAFE JIT,
it would have to perform suitable static and run-time
checking on and in the code it's generating.
People implementing currently interpreted languages would have the
option of calling this JIT coder instead.
I've been tinkering from time to time with bits of code in this
direction, but it's a huge job. And, in my opinion, LLVM doesn't really
do this right. C-- comes a lot closer, but it isn't a JIT. Maybe
something like it could be?
-- hendrik
More information about the M3devel
mailing list