OutOfMemory error when generating the runtime


In JIS 9.1 we increased the default compilation batch size from 30 classes at a time to 90 classes at a time. This improves compilation time for large libraries. The increased batch, may however, cause the javac compiler to abort with OutOfMemory error.

If you run into this problem you have the following options:

  1. Reduce the number of classes per batch, in the “Runtime Generation Options” dialog, Java tab, reduce the value in the “Compile Java classes in batches of:” field.

  2. A better alternative is to increase the amount of memory allocated for the javac compiler. In the “Java compiler command” field just after the javac command line insert the token -J-mx400m where 400m stands for a maximum of 400 megabytes of memory allocated for javac. Of course you’ll need the machine itself to have 400 megabytes of free memory.

$RootDir\utils\jre16\bin\javac -J-mx400m …

In fact increasing the memory for javac can allow you to compile a whole library of, say, 300 subapplications in one batch which could save significant time.
This tip will work with any version of JIS not just JIS 9.1