Re: Jit Implementation

"Jonathan Thornburg \[remove -animal to reply\]" <jthorn@astro.indiana-zebra.edu>
21 Mar 2010 18:33:35 GMT

          From comp.compilers

Related articles
Jit Implementation herron.philip@googlemail.com (Philip Herron) (2010-03-18)
Re: Jit Implementation bobduff@shell01.TheWorld.com (Robert A Duff) (2010-03-19)
Re: Jit Implementation bartc@freeuk.com (bartc) (2010-03-20)
Re: Jit Implementation jgd@cix.compulink.co.uk (2010-03-20)
Re: Jit Implementation anton@mips.complang.tuwien.ac.at (2010-03-21)
Re: Jit Implementation gah@ugcs.caltech.edu (glen herrmannsfeldt) (2010-03-21)
Re: Jit Implementation herron.philip@googlemail.com (Philip Herron) (2010-03-21)
Re: Jit Implementation jthorn@astro.indiana-zebra.edu (Jonathan Thornburg \[remove -animal to reply\]) (2010-03-21)
Re: Jit Implementation cr88192@hotmail.com (BGB / cr88192) (2010-03-21)
Re: Jit Implementation herron.philip@googlemail.com (Philip Herron) (2010-03-21)
Re: Jit Implementation barry.j.kelly@gmail.com (Barry Kelly) (2010-03-22)
Re: Jit Implementation bartc@freeuk.com (bartc) (2010-03-23)
Re: Jit Implementation bartc@freeuk.com (bartc) (2010-03-23)
Re: Jit Implementation cr88192@hotmail.com (cr88192) (2010-03-23)
[5 later articles]
| List of all articles for this month |

From: "Jonathan Thornburg \[remove -animal to reply\]" <jthorn@astro.indiana-zebra.edu>
Newsgroups: comp.compilers
Date: 21 Mar 2010 18:33:35 GMT
Organization: Compilers Central
References: 10-03-054 10-03-063
Keywords: code, tools
Posted-Date: 22 Mar 2010 21:01:40 EDT

Philip Herron <herron.philip@googlemail.com> writes:
>From what i understand to Jit some kind of language, do your parsing
>into an IR maybe some optimizations to a code generator. So ok if we
>have successfully output target code for the processor would you use
>simply a system assembler or what i see some people have runtime
>assemblers to assemble this code, then where would this target code
>go?
>
>Then how do you link it in a useful way?
>
>And ultimately how would you execute this


To reduce the reinvent-the-wheel overhead, you might consider using
a library to help with the mechanics of this. For example, I have
heard of (but not personally used) VCODE:
    http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.25.8634
    http://pdos.csail.mit.edu/~engler/pldi96-abstract.html
    http://www.stanford.edu/~engler/vcode-pldi.ps


Abstract:
    We present vcode, a portable, extensible, very fast dynamic code
    generation system. An important feature of vcode is that it generates
    machine code ``in-place'' without the use of intermediate data
    structures. Eliminating the need to construct and consume an
    intermediate representation at runtime makes vcode both efficient
    and extensible. vcode dynamically generates code at an approximate
    cost of six to ten instructions per generated instruction, making
    it over an order of magnitude faster than the most efficient
    general-purpose code generation system in the literature.


    Dynamic code generation is relatively well known within the compiler
    community. However, due in large part to the lack of a publicly
    available dynamic code generation system, it has remained a curiosity
    rather than a widely used technique. A practical contribution of
    this work is the free, unrestricted distribution of the vcode system,
    which currently runs on the MIPS, SPARC, and Alpha architectures.


ciao,


--
-- "Jonathan Thornburg [remove -animal to reply]" <jthorn@astro.indiana-zebra.edu>
      Dept of Astronomy, Indiana University, Bloomington, Indiana, USA
      "C++ is to programming as sex is to reproduction. Better ways might
        technically exist but they're not nearly as much fun." -- Nikolai Irgens



Post a followup to this message

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