Re: JIT Help... (Andreas Krall)
1 Mar 2001 02:31:54 -0500

          From comp.compilers

Related articles
JIT Help... (J. Akmal) (2001-02-23)
Re: JIT Help... (Daniel C. Wang) (2001-02-25)
Re: JIT Help... (2001-02-25)
Re: JIT Help... (2001-03-01)
Re: JIT Help... (Peter Bertelsen) (2001-03-01)
Re: JIT Help... (J. Akmal) (2001-03-01)
Re: JIT Help... (2001-03-04)
| List of all articles for this month |

From: (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
> 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.

                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.

-- Andreas Krall Inst. f. Computersprachen, TU Wien
tel: (+431) 58801/18511 Argentinierstr. 8/4/1851
fax: (+431) 58801/18598 A-1040 Wien AUSTRIA EUROPE

Post a followup to this message

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