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) |
[11 later articles] |
From: | Robert A Duff <bobduff@shell01.TheWorld.com> |
Newsgroups: | comp.compilers |
Date: | Fri, 19 Mar 2010 15:03:19 -0400 |
Organization: | The World Public Access UNIX, Brookline, MA |
References: | 10-03-054 |
Keywords: | code |
Posted-Date: | 20 Mar 2010 23:21:34 EDT |
Philip Herron <herron.philip@googlemail.com> writes:
> [A JIT compiler has to do the moral equivalent of dlopen(), take a
> chunk of data and make it be code, with everything in memory rather
> than in files. On many architectures, you don't actually have to do
> anything since code and data are in the same address space so you
> can set a pointer to point to the code you just wrote and call it,
> but on others you do need some help from the system, e.g., on recent
> x86 where data pages are usually marked no-execute. -John]
Also, on some machines you might need to do some cache flushing.
Otherwise, the processor might execute old instructions.
- Bob
[Quite right -- it's very machine specific. -John]
Return to the
comp.compilers page.
Search the
comp.compilers archives again.