This is the mail archive of the kawa@sourceware.org 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: Kawa 1.13 compilation problem, possible regression


On 02/04/2013 10:27 AM, Matthieu Vachon wrote:
Hi,

I'm currently porting our current Kawa codebase from version 1.7.91 to
the latest and greatest 1.13. Since I saw that an Ant Kawa task was
now available, I thought I could give it a try to incorporate it in
our build process.

First, I thought it was distributed into the pre-compile jar archive
but I was wrong. So, I downloaded the source to compile it by hand.
Started my journey on Windows (via MinGW) but hit a problem right
after the configure phase where `nroff` is missing.

You can just build Kawa using ant: http://www.gnu.org/software/kawa/Source-distribution.html#Build-Kawa-using-ant That leaves behind: tools/gnu/kawa/ant/Kawac.class

I was not able to compile the scheme part of the Kawa project because
the compiler is getting out of Heap Space when trying to compile the
file `gui.scm`.
....
(compiling XML.scm to gnu.kawa.slib.XML)
(compiling XStrings.scm to gnu.kawa.slib.XStrings)
(compiling gui.scm to gnu.kawa.slib.gui)
gui.scm:152: internal error while compiling gui.scm
java.lang.OutOfMemoryError: Java heap space
         at java.util.Arrays.copyOf(Arrays.java:2760)
         at java.util.Arrays.copyOf(Arrays.java:2734)
         at java.util.ArrayList.ensureCapacity(ArrayList.java:167)
         at java.util.ArrayList.addAll(ArrayList.java:474)
         at gnu.expr.PushApply.forkNext(PushApply.java:276)
         at gnu.expr.PushApply.forkPop(PushApply.java:284)
         at gnu.expr.PushApply.visitIfExp(PushApply.java:138)
         at gnu.expr.PushApply.visitIfExp(PushApply.java:23)

This is something I've seen but I haven't quite been able to pin it down: Sometimes it seems a problem, but when I try to narrow it down to when it happens, then it disappears.

However, I have a general idea how this can be fixed.  The idea
is to replace this data-structure:
  ArrayList<HashSet<LambdaExp>> canFinishCondition
by a Map<LambdaExp,IntNum>, where the IntNum result is a
bitmap of "paths that can finish".  I have reason to believe
this would behave better, but the devil is in the details.
--
	--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]