CACAO(1)

NAME
cacao - a Java just-in-time compiler

SYNOPSIS
cacao [ options ] classname [ argument ... ]
cacao [ options ] -jar file.jar [ argument ... ]

DESCRIPTION
The method main of the class classname is executed. Method main must have the signature public static void main(String[] argv). The program arguments are passed to method main in the string array argv. The environment variable CLASSPATH must contain the directory of the Java class files.

OPTIONS
Currently recognized options are:

-classpath path
    Set the search path for user-defined class files. Usually the environment variable CLASSPATH specifies the search path, but this option overrides the value of the environment variable. path may be a colon-separated list of directories and .jar files.

-cp path
    Equivalent to -classpath path.

-Dproperty=value
    Assign a value to an entry of the system property list.

-verbose[:class|gc|jni]
    Enable specific verbose output.

-version
    Print product version and exit.

-fullversion
    Print jpackage-compatible product version and exit.

-showversion
    Print product version and continue.

-help, -?
    Print this help message and exit.

-X  Print help on non-standard Java options.

NON-STANDARD OPTIONS
Currently recognized options are:

-Xbootclasspath/a:path
    Append path to the search path of the bootstrap loader.

-Xbootclasspath/p:path
    Prepend path to the search path of the bootstrap loader.

-Xbootclasspath:path
    Set the search path of the bootstrap loader to path. path is a list of .zip files, .jar files, or directories, separated by :.

-Xint
    Interpreter mode execution.

-Xjit
    JIT mode execution (default).

-Xmssize
    Set the initial size of the heap (default: 2MB).

-Xmxsize
    Set the maximum size of the heap (default: 64MB).

-Xsssize
    Set the thread stack size (default: 128kB).

-all
    Compile all methods, no execution.

-cb Disable array bounds checks.

-cs Disable synchronization.

-l  Don't start the class after loading.

-liberalutf
    Don't warn about overlong UTF-8 sequences.

-log logfile
    Specifies the logfile. Default is stdout.

-lsra
    Use linear scan register allocation.

-m method
    Compile only a specific method.

-noverify
    Turn off bytecode verification and other verifier checks.

-sig signature
    Specify signature for the method given by the -m option.

-softnull
    Use software nullpointer check.

-stat
    Print detailed compiler statistics.

-time
    Gives statistics about run time after the program has completed.

-v  Print state information.

DEBUGGING OPTIONS

The following options are useful for debugging cacao:

-sa Show a disassembled listing of the generated code.

-sc Show the constant pool.

-sd Show data segment listing.

-se Show disassembled exception stubs (only with -sa).

-si Show intermediate representation.

-sm Show class fields and methods.

-sn Show disassembled native stubs.

-su Show the internal utf hash.

-verbose
    Print more information.

-verbosecall
    Trace method calls.

-verboseexception
    Trace exceptions and stack unwinding.

-verbosegc
    Print a message for each garbage collection.

EXPERIMENTAL OPTIONS

-eager
    Perform eager class loading and linking.

-ie Inline methods with exceptions.

-in Activate inlining of methods.

-io Inline methods of foreign classes.

-ip Optimize argument renaming when inlining.

-iv Inline virtual methods (uses/turns -rt option on).

-oloop
    Optimize array accesses in loops.

-rt Use rapid type analysis.

-vta
    Use variable type analysis.

-xta
    Use X type analysis.

ENVIRONMENT VARIABLES

CLASSPATH
    A colon-separated list of directories and .jar files to search for user-defined classes.

BOOTCLASSPATH
    A colon-separated list of directories and .jar files searched by the bootstrap loader.

AUTHOR

CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO

Send mail to cacao@cacaojvm.org