Per Bothner <p...@bothner.com> writes:

> This is indeed a very annoying bug/limitation in the JVM.  Everyone
> hates it, but the powers-that-be keep putting off fixing it.
> Basically the length of the bytecode for a single method is limited to 64k.
> (There are other 16-bit limitations, too.)
>
> This is also a Kawa bug: At the very least the compiler should abort with
> an informative error message rather than create an excessively-big method.
> Better would be to re-write the code to split the method into multiple
> methods - but that is difficult.
>  In the case the problem i the "run" method generated for the formatst
> class.
> This corresponds to module-level actions of the module - which in this
> case is almost all of it.  When using my version of testing.zip it is
> barely within the limit, at 60219 bytes.  Your version pushes it above the 
> limit,
> to 74710 bytes.  I haven't looked at why yet - I assume your version generates
> more "verbose" expansions of the macros.

I see, thanks for the explanation.  Indeed it seems to work when I split
formatst.scm into two files.

Now I get the same number of unexpected failures from the whole 'make
check' run as with the stock SRFI-64.

I get 1 failure in the 'R7RS' suite and 7 in 'libs'.  Can reproduce with
the 2.0 tarball and SVN trunk.  I can file a bug with more details if
you wish, or are these known?

Taylan

Reply via email to