JVM misconceptions (Re: [Mono-list] Re: can you explain what you mean?)

Jeffery von Ronne jronne@ics.uci.edu
Mon, 16 Jul 2001 10:03:58 -0700

I had written:
> > This is, however, all written from the perspective
> > of the verifier, so
> > it isn't obvious what restrictions this puts on the
> > code generator.

I don't think I was very clear on this: my point was merely
that the appropriate section of the JVM spec describes how
to write a verifier.  To derive from that what constraints
that puts on the source->JVM compiler (*) or what assumption
the JVM compiler can make about the code.

On Sun, Jul 15, 2001 at 09:54:28PM -0700, Tom wrote:
> I don't see any significant difference between the
> verifier conditions for the JVM and the relevant
> sections of the ECMA CIL standard (section 1.8 and
> the "verifiability" headings under individual
> instructions). Even the terminology is very
> similar. If you know of any differences, can you
> point them out?

To be honest, I haven't looked at the ECMA standard yet.

(*) There is actually a mismatch between Java's definite
    assignment rules for exceptions, and JVM state
    merging rules.  These don't come up in real program,
    but there exists some programs that sun's javac
    compiler will output code that is not verifiable,
    because of this mismatch.

Jeffery von Ronne <jronne@ics.uci.edu>
Graduate Student
Information and Computer Science
University of California, Irvine