[kaffe] State of the Verifier

Rob Gonzalez rgonzale at wso.williams.edu
Wed Jul 23 14:59:03 PDT 2003


Hello,

> > > > verify3() is called when a class is about to be linked.  At this point,
> > > > according to the JVM spec you're not supposed to check whether a given
> > > > class has a given field, or even whether a given class exists _unless_ you
> > > > need that class for type checking (i.e. if you expect something of type A
> > > > and have something of type B, then you have to load B to see if A is in
> > > > its superclass type hierarchy).
> > 
> > > Can't you just use the signature like in code-analyse.c.  Theres already a 
> > > bunch of code in lookup.c for taking care of this stuff.
> > 
> > Not really.  The getField() and getClass() and getClassFromSignature() and
> > stuff like that all cause the referenced class to be loaded and, in most
> > cases, linked.
> 
> The JanosVM versions don't, so you can try backporting those.


Are you sure the janosVM versions don't force the referenced class to be
linked?  I just spent some time poking around the 1.0a source and it seems
that they do... of course, I could simply be misreading something.

Rob





More information about the kaffe mailing list