CACAO Manual Page
CACAO is started via the following command:
cacao [-ieee][options] classname [program arguments]
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.
Class archives in zip format are not supported. The option
-ieee 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 cacao are in most
cases identical to the options of the java interpreter of SUN's
JDK, with some additions and minor changes.
Currently recognized options are:
- [-classpath path]
- 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.
- [-Dpropertyname=value]
- Assigns a value to an entry of the system property list.
- [-ms initmem{[k|m]}]
- Specicfies the heap size at program start. If this size has been used
garbage collection is started.
- [-mx maxmem{[k|m]}]
- Specifies maximal heap size. Default size is 16 MB.
- [-oss stacksize{[k|m]}]
- no effect, compatibility option
- [-ss stacksize{[k|m]}]
- no effect, compatibility option
- [-noasyncgc]
- no effect, compatibility option
- [-noverify]
- no effect, compatibility option
- [-v,-verbose]
- CACAO prints a log message of every class loaded.
- [-verbosegc]
- CACAO prints a log message for each garbage collection.
- [-verbosecall]
- CACAO prints a log message for each method call.
- [-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.
- [-softnull]
- Software null pointer check is used instead of hardware null pointer
check. Needed for debugging of CACAO.
- [-time]
- Gives statistics about run time after the program has completed.
- [-stat]
- Gives detailed statistics about the compiled program.
- [-log logfile]
- Specifies the logfile. Default is stdout.
- [-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(ounds)]
- Disables array bound checks. Works well for javac.
- [s(ync)]
- Disables synchronization. Only useful for single threaded programs like
javac or jBYTEmark.
- [-l]
- Loads the class files into the CACAO system without calling method
main. Used for debugging of CACAO.
- [-old]
- Use the old JIT compiler instead the new one. Used for debugging and comparison
of the two JIT compilers.
- [-all]
- Compiles all methods without calling them.
Used for cross compilation and debugging of CACAO.
- [-m methodname]
- Compiles the specified method without calling it.
Used for debugging of CACAO.
- [-sig signature]
- specifies the signature of the method specified with the -m option.
Used for debugging of CACAO.
- [-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:
- [a(ssembler)]
- Gives an assembles listing of all compiled methods.
- [c(onstant)]
- Gives a listing of all constant pool entries.
- [i(ntermediate)]
- Gives the intermediate code of all compiled methods.
- [m(ethod)]
- Gives a description of all fields and methods of a class.
- [s(tack)]
- Gives the JavaVM stack for every compiled instruction.
- [u(nicode)]
- Gives the complete hash table with all unicode symbols.
Last updated by Andreas Krall on
September 21st 1998. Please send mail to cacao@complang.tuwien.ac.at for
errors and changes.