This is the mail archive of the kawa@sources.redhat.com mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Portable Syntax Case


Adam Warner wrote:


I suspected this could be a bug in Kawa's implementation. Thank you for
the analysis. I'd like to know how you obtained the disassembly.

I use jcf-dump, which is installed by a full gcc-with-cj installation. (It is installed by a full Red Hat / Fedora installation, for example.)

I also tried would Kawa with the gcc 3.4 prerelease, and its verifier
is more specific:

$ bin/kawa.sh -e "(require 'list-lib)" --debug-dump-zip -f /tmp/psyntax.pp
java.lang.VerifyError: verification failed at PC 125 in atInteractiveLevel$frame:lambda44makeBindingWrap415((Ljava.lang.Object;Ljava.lang.Object;Ljava.lang.Object;)Ljava.lang.Object;): incompatible type on stack
at _Jv_BytecodeVerifier.verify_fail(byte, int) (/home/bothner/GNU/install-gcc/lib/libgcj.so.5.0.0)


It doesn't seem like it failed in the same location; I assume because
the class loading isn't identical.

Debuging these errors is tedious, especially when the testcase is
so complex (to big to get a handle on).  If you could trim psyntax.pp
to a minimal testcase that still triggers a VerifyError, that would
make it a bit easier.

It's my opinion that because this is incompletely specified and baroque
that you shouldn't attempt to reimplement psyntax.scm in Java. It's
better freeriding upon the canonical implementation while a
specification stabilises.

I doubt that will ever happen - syntax-case dates back to 1992, and not much has changed since then. -- --Per Bothner per@bothner.com http://per.bothner.com/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]