[kaffe] completed bytecode verifier!
Rob Gonzalez
rgonzale at wso.williams.edu
Thu Aug 7 08:57:02 PDT 2003
Hi Tim,
I'm working on fixing the problem with KJC now. The problem is that the
core kaffe classes are failing verification...if you run KJC with
-verifyremote and not with -verify it should work.
Rob
On Thu, 7 Aug 2003, Timothy Stack wrote:
> >
> > Hi all,
> >
> > I just committed the bytecode verifier. It's a huge chunk of code and
> > it's very likely that there are little bugs lurking around in it...I can't
> > even count how many off-by-one errors I had during development.
>
> make check-TESTS
> make[1]: Entering directory `/z/stack/tmp0/kbuild/test/regression'
> PASS: HelloWorldApp.class.save
> error compiling:
> java.lang.NoClassDefFoundError: Lat/dms/kjc/KjcSignatureParser;
> <<No stacktrace available>>
> FAIL: HelloWorldApp.java
> error compiling:
> java.lang.NoClassDefFoundError: Lat/dms/kjc/KjcSignatureParser;
> <<No stacktrace available>>
> FAIL: TestIntLong.java
> error compiling:
> java.lang.NoClassDefFoundError: Lat/dms/kjc/KjcSignatureParser;
> <<No stacktrace available>>
>
> > - The new instruction cannot be used to create an instance of an abstract
> > class.
> >
> > This should be checked, but it cannot be checked by the verifier because
> > the verifier cannot load classes unless they are necessary for type
> > checking. Thus if the type of class created by the new instruction is
> > not loaded, there's no way to check if it's abstract.
> >
> > This should be checked in code-analyse.
>
> This isn't done for the sake of binary compatibility. For example, if a
> base class adds an abstract method, you don't want to screw up any
> subclasses in different packages if the method isn't going to be called.
> Instead, you wait until it actually is called and throw an
> AbstractMethodError.
>
> > Cheers,
> > Rob
>
> tim
>
> _______________________________________________
> kaffe mailing list
> kaffe at kaffe.org
> http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
>
More information about the kaffe
mailing list