1 | ## Ant based build process and runtime settings |
---|
2 | |
---|
3 | ## A file named 'abcl.properties' controls settings for the ABCL |
---|
4 | ## build. This is the prototype for its contents. |
---|
5 | |
---|
6 | # Attempt to perform incremental compilation? |
---|
7 | abcl.build.incremental=true |
---|
8 | |
---|
9 | ## javac compiler options for ABCL build |
---|
10 | # generate class files for this target JVM |
---|
11 | abcl.javac.target=1.8 |
---|
12 | # specify Java source compatiblity level |
---|
13 | abcl.javac.source=1.6 |
---|
14 | |
---|
15 | ## Additional site specific startup code to be merged in 'system.lisp' at build time |
---|
16 | #abcl.startup.file=${basedir}/startup.lisp |
---|
17 | |
---|
18 | ## java.options sets the invoking JVM options in the abcl wrapper script |
---|
19 | |
---|
20 | # Base JVM settings that work on all supported platforms |
---|
21 | # <> java.options |
---|
22 | java.options=-XshowSettings:vm -Dfile.encoding=UTF-8 |
---|
23 | |
---|
24 | ## N.b. Ant properties can only be set once, so lines like |
---|
25 | ## java.options=${java.options} further options |
---|
26 | ## will NOT work. Instead one has to "manually" create lines |
---|
27 | |
---|
28 | #<> |
---|
29 | # <java/runtime> ( openjdk11, openjdk13, openjdk14 ) ; |
---|
30 | # |
---|
31 | #java.options=-XX:+UnlockExperimentalVMOptions -XX:+UseZGC -Xmx<size> -Xlog:gc |
---|
32 | |
---|
33 | #<> |
---|
34 | # <java/runtime> openjdk11 ; |
---|
35 | # rdfs:seeAlso <https://blog.gceasy.io/2020/03/18/7-jvm-arguments-of-highly-effective-applications/> ; |
---|
36 | #java.options=-XX:CompileThreshold=10 |
---|
37 | |
---|
38 | #<> |
---|
39 | # <java/runtime> openjdk8 ; |
---|
40 | #java.options=-XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 |
---|
41 | |
---|
42 | #<> |
---|
43 | # rdfs:comment "openjdk7 with 64bit optimizations" ; |
---|
44 | # <java/runtime> openjdk7 ; |
---|
45 | #java.options=-d64 -XX:+UseG1GC |
---|
46 | |
---|
47 | #<> |
---|
48 | # rdfs:comment "openjdk6 is the minimum supported runtime" |
---|
49 | # <java/runtime> openjdk6 ; |
---|
50 | #java.options=-d64 -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=1g -XX:+UseConcMarkSweepGC |
---|
51 | |
---|
52 | # Comprehensive documentation for JVM options does not really exist: |
---|
53 | # per the usual entropy of long projects, the only true source of |
---|
54 | # truth is the source of the specific openjdk. |
---|
55 | # |
---|
56 | # As of 2020, decent online compendiums are |
---|
57 | # <https://chriswhocodes.com/> and <http://jvm-options.tech.xebia.fr/#> |
---|
58 | # |
---|
59 | # ORCL's documentation <http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html> |
---|
60 | |
---|
61 | ## Various historical option settings |
---|
62 | |
---|
63 | # Java7 on 64bit optimizations |
---|
64 | #java.options=-d64 -Xmx16g -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=2g |
---|
65 | |
---|
66 | # Set the JVM to use a maximum of 1GB of RAM (only works for 64bit JVMs) |
---|
67 | #java.options=-d64 -Xmx1g |
---|
68 | |
---|
69 | # Use the G1 garbage collector stablized with jdk1.7.0_04, printing GC details |
---|
70 | #java.options=-d64 -Xmx4g -XX:+UseG1GC |
---|
71 | |
---|
72 | # Use a separate concurrent GC thread (java-1.6_14 or later) |
---|
73 | #java.options=-d64 -Xmx8g -XX:+UseConcMarkSweepGC |
---|
74 | |
---|
75 | # Verbose garbage collection |
---|
76 | #java.options=-verbos:gc -XX:+PrintGCDetails |
---|
77 | |
---|
78 | # Java 5 era (???) flag to GC class definitions |
---|
79 | #java.options=-XX:+CMSPermGenSweepingEnabled |
---|
80 | |
---|
81 | # The unloading of class definitions is a per jvm policy. For |
---|
82 | # implementations which run out of permgen space, the following should |
---|
83 | # help things out. |
---|
84 | #java.options=-d64 -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=1g |
---|
85 | |
---|
86 | # Enable assertions specified via the JVM contract |
---|
87 | # TODO move all use of org.armedbear.lisp.Debug assertions to this interface. |
---|
88 | #java.options=-ea |
---|
89 | |
---|
90 | ## ABCL Development |
---|
91 | |
---|
92 | # skips the compilation of Lisp sources in Netbeans |
---|
93 | # (for debugging compiler-pass1.lisp and subsequent passes) |
---|
94 | #abcl.compile.lisp.skip=true |
---|
95 | |
---|
96 | # JVM option to execute when debugging the Lisp compilation via 'abcl.compile.lisp.debug' |
---|
97 | # Debug the compilation by connecting a JVM debugger to localhost:6789 via JDWP. |
---|
98 | #abcl.compile.lisp.debug.jvmarg=-agentlib:jdwp=transport=dt_socket,server=y,address=6789,suspend=y |
---|
99 | |
---|
100 | |
---|
101 | |
---|