-.TH CACAO 1 "January 12, 1999"
+.TH CACAO 1 "November 23, 2005"
.UC
.SH NAME
-cacao \- a java just-in-time compiler
+cacao \- a Java just-in-time compiler
.SH SYNOPSIS
.B cacao
-[\-ieee][options] classname [program arguments]
+[
+.I options
+]
+.I classname
+[
+.I argument ...
+]
+.br
+.B cacao
+[
+.I options
+]
+.B -jar
+.I file.jar
+[
+.I argument ...
+]
.br
.SH DESCRIPTION
The method \fBmain\fP of the class \fIclassname\fP is executed.
main(String[] argv)\fP. The program arguments are passed to method
\fBmain\fP in the string array \fBargv\fP. The environment variable
\fICLASSPATH\fP must contain the directory of the Java class files.
-Class archives in \fBzip\fP format are not supported. The option
-\fI\-ieee\fP is needed for a compliant implementation, the default
-behaviour of CACAO (aborting in case of floating point exeptions) is both
-faster and more desirable. The other options for \fBcacao\fP are in most
-cases identical to the options of the \fBjava\fP interpreter of SUN's
-JDK, with some additions and minor changes.
.SH OPTIONS
Currently recognized options are:
+
.TP
.B -classpath \fIpath\fP
-Defines the search path for class files. Usually the environment variable
-CLASSPATH specifies the search path, but this option overides the
-value of the environment variable.
+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.
+\fIpath\fP may be a colon-separated list of directories and .jar files.
+
.TP
-.B -propertyname=\fIvalue\fP
-Assigns a value to an entry of the system property list.
+.B -cp \fIpath\fP
+Equivalent to \fB-classpath \fIpath\fP.
+
.TP
-.B -ms \fIinitmem\fP { k | m }
-Specicfies the heap size at program start. If this size has been used
-garbage collection is started.
-.TP
-.B -mx \fImaxmem\fP { k | m }
-Specifies maximal heap size. Default size is 16 MB.
-.TP
-.B -oss \fIstacksize\fP { k | m }
-no effect, compatibility option
+.B -D\fIproperty\fB=\fIvalue\fP
+Assign a value to an entry of the system property list.
+
.TP
-.B -ss \fIstacksize\fP { k | m }
-no effect, compatibility option
+.BR -verbose [ :class | gc | jni ]
+Enable specific verbose output.
+
.TP
-.B -noasyncgc
-no effect, compatibility option
+.B -version
+Print product version and exit.
+
.TP
-.B -noverify
-no effect, compatibility option
+.B -fullversion
+Print jpackage-compatible product version and exit.
+
.TP
-.B -v, -verbose
-CACAO prints a log message of every class loaded.
+.B -showversion
+Print product version and continue.
+
.TP
-.B -verbosegc
-CACAO prints a log message for each garbage collection.
+.B -help\fP, \fB-?
+Print this help message and exit.
+
.TP
-.B -verbosecall
-CACAO prints a log message for each method call.
+.B -X
+Print help on non-standard Java options.
+
+.SH NON-STANDARD OPTIONS
+Currently recognized options are:
+
.TP
-.B -ieee
-Enables IEEE compliant floating point arithmetic as specified in the
-JVM specification. The default behavior is aborting CACAO with a
-floating point exception on overflows.
+.B -Xbootclasspath/a:\fIpath\fP
+Append \fIpath\fP to the search path of the bootstrap loader.
+
.TP
-.B -softnull
-Software null pointer check is used instead of hardware null pointer
-check. Needed for debugging of CACAO.
-.TP
-.B -time
-Gives statistics about run time after the program has completed.
-.TP
-.B -stat
-Gives detailed statistics about the compiled program.
+.B -Xbootclasspath/p:\fIpath\fP
+Prepend \fIpath\fP to the search path of the bootstrap loader.
+
+.TP
+.B -Xbootclasspath:\fIpath\fP
+Set the search path of the bootstrap loader to \fIpath\fP.
+\fIpath\fP is a list of .zip files, .jar files, or directories, separated by \fB:\fP.
+
+.TP
+.B -Xint
+Interpreter mode execution.
+
+.TP
+.B -Xjit
+JIT mode execution (default).
+
+.TP
+.B -Xms\fIsize\fP
+Set the initial size of the heap (default: 2MB).
+
+.TP
+.B -Xmx\fIsize\fP
+Set the maximum size of the heap (default: 64MB).
+
+.TP
+.B -Xss\fIsize\fP
+Set the thread stack size (default: 128kB).
+
+.TP
+.B -all
+Compile all methods, no execution.
+
+.TP
+.B -cb
+Disable array bounds checks.
+
+.TP
+.B -cs
+Disable synchronization.
+
+.TP
+.B -l
+Don't start the class after loading.
+
+.TP
+.B -liberalutf
+Don't warn about overlong UTF-8 sequences.
+
.TP
.B -log \fIlogfile\fP
Specifies the logfile. Default is \fIstdout\fP.
+
.TP
-.B -c(heck){[b][s]}]
-Disables different run time checks.
-These options improves the run time of programs. But instead of throwing
-an exception the program crashes. These options should only be used for
-completely debugged programs.
-.B b(ounds)
-Disables array bound checks. Works well for \fBjavac\fP.
-.B s(ync)
-Disables synchronization. Only useful for single threaded programs like
-\fBjavac\fP or \fBjBYTEmark\fP
-.B -l
-Loads the class files into the CACAO system without calling method
-\fBmain\fP. Used for debugging of CACAO.
-.B -old
-Use the old JIT compiler instead the new one. Used for debugging and comparison
-of the two JIT compilers.
-.TP
-.B -all
-Compiles all methods without calling them.
-Used for cross compilation and debugging of CACAO.
+.B -lsra
+Use linear scan register allocation.
+
+.TP
+.B -m \fImethod\fP
+Compile only a specific method.
+
+.TP
+.B -noverify
+Turn off bytecode verification and other verifier checks.
+
.TP
-.B -m \fImethodname\fP
-Compiles the specified method without calling it.
-Used for debugging of CACAO.
-.TP
.B -sig \fIsignature\fP
-specifies the signature of the method specified with the -m option.
-Used for debugging of CACAO.
-.TP
-.B -s(how){[a][c][i][m][s][u]}
-The following options are used for debugging of the CACAO system. The
-compiler gives the values of internal data structures in readable form:
-.B a(ssembler)
-Gives an assembles listing of all compiled methods.
-.B c(onstant)
-Gives a listing of all constant pool entries.
-.B i(ntermediate)
-Gives the intermediate code of all compiled methods.
-.B m(ethod)
-Gives a description of all fields and methods of a class.
-.B s(tack)
-Gives the JavaVM stack for every compiled instruction.
-.B u(nicode)
-Gives the complete hash table with all unicode symbols.
+Specify signature for the method given by the \fB-m\fP option.
+
+.TP
+.B -softnull
+Use software nullpointer check.
+
+.TP
+.B -stat
+Print detailed compiler statistics.
+
+.TP
+.B -time
+Gives statistics about run time after the program has completed.
+
+.TP
+.B -v
+Print state information.
+
+.SH DEBUGGING OPTIONS
+
+The following options are useful for debugging \fBcacao\fP:
+
+.TP
+.B -sa
+Show a disassembled listing of the generated code.
+
+.TP
+.B -sc
+Show the constant pool.
+
+.TP
+.B -sd
+Show data segment listing.
+
+.TP
+.B -se
+Show disassembled exception stubs (only with \fB-sa\fP).
+
+.TP
+.B -si
+Show intermediate representation.
+
+.TP
+.B -sm
+Show class fields and methods.
+
+.TP
+.B -sn
+Show disassembled native stubs.
+
+.TP
+.B -su
+Show the internal utf hash.
+
+.TP
+.B -verbose
+Print more information.
+
+.TP
+.B -verbosecall
+Trace method calls.
+
+.TP
+.B -verboseexception
+Trace exceptions and stack unwinding.
+
+.TP
+.B -verbosegc
+Print a message for each garbage collection.
+
+.SH EXPERIMENTAL OPTIONS
+
+.TP
+.B -eager
+Perform eager class loading and linking.
+
+.TP
+.B -ie
+Inline methods with exceptions.
+
+.TP
+.B -in
+Activate inlining of methods.
+
+.TP
+.B -io
+Inline methods of foreign classes.
+
+.TP
+.B -ip
+Optimize argument renaming when inlining.
+
+.TP
+.B -iv
+Inline virtual methods (uses/turns \fB-rt\fP option on).
+
+.TP
+.B -oloop
+Optimize array accesses in loops.
+
+.TP
+.B -rt
+Use rapid type analysis.
+
+.TP
+.B -vta
+Use variable type analysis.
+
+.TP
+.B -xta
+Use X type analysis.
+
+.SH ENVIRONMENT VARIABLES
+
+.TP
+.B CLASSPATH
+A colon-separated list of directories and .jar files to search for
+user-defined classes.
+
+.TP
+.B BOOTCLASSPATH
+A colon-separated list of directories and .jar files searched
+by the bootstrap loader.
.SH AUTHOR
-Andreas Krall, Mark Probst, Philipp Tomsich, Reinhard Grafl
-Send mail to cacao@complang.tuwien.ac.at
+The CACAO Team:
+
+Reinhard Grafl,
+Andreas Krall,
+Christopher Kruegel,
+Carolyn Oates,
+Roman Obermaisser,
+Martin Platter,
+Mark Probst,
+Stefan Ring,
+Edwin Steiner,
+Christian Thalinger,
+Dieter Thuernbeck,
+Philipp Tomsich,
+Christian Ullrich,
+Joseph Wenninger
+
+Send mail to cacao@cacaojvm.org
+