[kaffe] State of the Verifier
rgonzale at wso.williams.edu
Wed Jul 23 14:59:03 PDT 2003
> > > > 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.
More information about the kaffe