Re: JIT Help...

Peter Bertelsen <>
1 Mar 2001 02:32:58 -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: Peter Bertelsen <>
Newsgroups: comp.compilers
Date: 1 Mar 2001 02:32:58 -0500
Organization: KVL
References: 01-02-121 01-02-130
Keywords: Java
Posted-Date: 01 Mar 2001 02:32:58 EST

Torben AEgidius Mogensen wrote:
> 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.

No, there is no such requirement at the JVM level: the operand stack
need not be empty at entry to a basic block. (For each bytecode
instruction the stack must always have the same depth, regardless of
the control-flow path leading to that instruction, but that's another

In Java bytecode generated by a Java compiler (from Java source) the
local operand stack is normally used only during expression evaluation,
that is, within each Java statement. However, the compiler is free to
use the local operand stack of the JVM for temporary storage across
statements and basic blocks.

Peter Bertelsen (
PhD student, KVL, Copenhagen

Post a followup to this message

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