Related articles |
---|
JIT Help... jakmal@bpssystems.com (J. Akmal) (2001-02-23) |
Re: JIT Help... danwang+news@cs.princeton.edu (Daniel C. Wang) (2001-02-25) |
Re: JIT Help... torbenm@diku.dk (2001-02-25) |
Re: JIT Help... andi@complang.tuwien.ac.at (2001-03-01) |
Re: JIT Help... pmb@dina.kvl.dk (Peter Bertelsen) (2001-03-01) |
Re: JIT Help... jakmal@bpssystems.com (J. Akmal) (2001-03-01) |
Re: JIT Help... anton@mips.complang.tuwien.ac.at (2001-03-04) |
From: | andi@complang.tuwien.ac.at (Andreas Krall) |
Newsgroups: | comp.compilers |
Date: | 1 Mar 2001 02:31:54 -0500 |
Organization: | Vienna University of Technology, Austria |
References: | 01-02-121 01-02-130 |
Keywords: | Java |
Posted-Date: | 01 Mar 2001 02:31:54 EST |
>>I just got done writing a compiler and VM (stack based) for a custom
>>language, and now I need to attack the JIT. I only need to support the
>>Pentium and Mac PowerPC. I don't need to squeeze every once of speed out
>>either.
>
> A related problem occurs when two paths join. If they have used
> different registers to hold the stack values, the state needs to be
> made consistent. JVM (AFAIR) requires stacks to be empty at
> join-points, so this neatly solves/sidesteps the issue.
Torben is wrong regarding empty stacks at control flow joins. The stack
can have any size at a control flow join, the JVM only requires that
the types on the stack from the different paths are the same.
@INPROCEEDINGS{Kr98b,
AUTHOR = {Andreas Krall},
TITLE = {Efficient {JavaVM} Just-in-Time Compilation},
BOOKTITLE = {International Conference on Parallel Architectures
and Compilation Techniques},
EDITOR = {Jean-Luc Gaudiot},
ORGANIZATION= {IFIP,ACM,IEEE},
PUBLISHER = {North-Holland},
PAGES = {205--212},
ADDRESS = {Paris},
MONTH = {October},
YEAR = 1998}
describes a simple JIT compiler which does register allocation of the stack.
The stack values which result from stack joins are mapped to the same
registers, which are also a separate class, called interface registers.
This article can also be downloaded from my homepage.
Andi
--
andi@complang.tuwien.ac.at Andreas Krall
http://www.complang.tuwien.ac.at/andi/ Inst. f. Computersprachen, TU Wien
tel: (+431) 58801/18511 Argentinierstr. 8/4/1851
fax: (+431) 58801/18598 A-1040 Wien AUSTRIA EUROPE
Return to the
comp.compilers page.
Search the
comp.compilers archives again.