configure Switches
Stable switches (tested by tgolem):
- --disable-debug
Define NDEBUG and remove all debugging code from the build.
- --enable-intrp
Build the interpreter.
You should also specify --disable-libjvm CFLAGS="-O2 -fno-reorder-blocks". - --enable-disassembler
Enables -sa disassembling.
- --enable-statistics
- Gather statistics.
Switches which should work, but are not tested regularily:
- --disable-verifier
- Remove the type checker and verification checks in other modules (loader, parse, stack_analyse, resolve, ...).
- --enable-rt-timing
- Enable real-time timing using high-resolution timers.
- --enable-cycle-stats
- Enable cycle count statistics.
- --enable-staticvm
- Build a statically linked cacao binary.
- --disable-jit
- Do not build the JIT compiler (interpreter only).
- --disable-ifconv
- Disable if-conversion.
- --disable-zlib
- Remove support for JAR/ZIP archives.
- --disable-libjvm
Do not build the shared CACAO libjvm library. (
This is needed for good interpreter performance!) - --with-jre-layout
- Build a relocatable CACAO.
Experimental switches:
- --enable-jvmti
- Enable JVMTI code.
- --enable-threads
- Build with / select thread support. (Default is native threads. Does any other option work currently?)
- --enable-inlining
- Enable method inlining (in development).
- --enable-loop
- Enable loop optimizations, array bound check removal (does not work currently).
- --enable-lsra
- Enable the LSRA allocator (in development).
- --enable-profiling
- Enable online profiling.
- --enable-scheduler
- Enable instruction scheduling.
- --disable-gc
- Do not build garbage collector.
- --disable-dump
- Do not use dump memory.
- --disable-ssa
This switch seems to be the wrong way!