From dougo@ccs.neu.edu Sun Nov 22 22:12:05 1998 Received: from vega.ccs.neu.edu (dougo@vega.ccs.neu.edu [129.10.116.206]) by amber.ccs.neu.edu (8.9.1a/8.9.1) with ESMTP id WAA28671 for ; Sun, 22 Nov 1998 22:11:54 -0500 (EST) Received: (from dougo@localhost) by vega.ccs.neu.edu (8.9.1a/8.9.1) id WAA15251; Sun, 22 Nov 1998 22:11:53 -0500 (EST) From: Doug Orleans Date: Sun, 22 Nov 1998 22:11:53 -0500 (EST) To: com3360@ccs.neu.edu Subject: Re: OutOfMemoryError In-Reply-To: <13905.60223.431660.731482@vega.ccs.neu.edu> References: <199811171659.LAA05896@stockberg.ccs.neu.edu> <13905.60223.431660.731482@vega.ccs.neu.edu> X-Mailer: VM 6.43 under 20.4 "Emerald" XEmacs Lucid Message-ID: <13912.53303.704883.568504@vega.ccs.neu.edu> X-Face: (4D-osoq?}7M3\EgvbWKo > >[normal process] > > >Running the weaver... > > >Running the compiler... > > >java.lang.OutOfMemoryError I just realized that if the *compiler* is running out of memory, the workaround is different. You'll need to add something like "-J-mx32m" to the COMPILE_ARGS setting in your project file. In general, you can use -J to send arguments to the JVM before the compiler runs. Another issue is that javac (namely, Sun's JDK compiler) runs very slowly when you have a lot of classes, so you might want to use the Pizza compiler instead. Pizza is an extension to Java adding parameterized types (among other things), but the compiler, called "pc", can also be run in Java-compatibility mode; the benefit is that it runs much quicker in most cases (about 3-5x speedup). To use it instead of javac, change the COMPILER and COMPILE_ARGS lines in your project file to these: COMPILER = pc COMPILE_ARGS = -nowarn -J-mx32m -java -g A recent version of pc is installed in /proj/demsys/demjava/bin, so you shouldn't have to change your path to use it. If you want to use it on another system, you can download it from http://www.cs.bell-labs.com/who/wadler/pizza/. --Doug