CACAO Manual Page
CACAO is started via the following command:
cacao [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 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.
- [-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][f][n][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.
- [f(loats)]
- Allows incorrect floating point results due to NAN's or infinite values.
- [n(ull)]
- Disables NullPointerException in method calls or object
accesses.
- [s(ync)]
- Disables synchronization. Only useful for single threaded programs like
javac.
- [-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 11th 1998. Please send mail to cacao@complang.tuwien.ac.at for
errors and changes.