[kaffe] completed bytecode verifier!
Jim Pick
jim at kaffe.org
Tue Aug 12 16:01:02 PDT 2003
This seems to be taking more than a few days to fix, so I added
-noverify so we can build the regression tests. It's only temporary -
we'll remove it when the verifier is happier with kjc.
Cheers,
- Jim
On Thu, 07 Aug 2003 11:56:15 -0400 (EDT)
"Rob Gonzalez" <rgonzale at wso.williams.edu> wrote:
> 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
> >
>
>
> _______________________________________________
> kaffe mailing list
> kaffe at kaffe.org
> http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
More information about the kaffe
mailing list