minor documentation corrections
[cacao.git] / doc / cacao.1
1 .TH CACAO 1 "January 12, 1999"
2 .UC
3 .SH NAME
4 cacao \- a java just-in-time compiler
5 .SH SYNOPSIS
6 .B cacao 
7 [\-ieee][options] classname [program arguments]
8 .br
9 .SH DESCRIPTION
10 The method \fBmain\fP of the class \fIclassname\fP is executed.
11 Method \fBmain\fP must have the signature \fBpublic static void
12 main(String[] argv)\fP. The program arguments are passed to method
13 \fBmain\fP in the string array \fBargv\fP. The environment variable
14 \fICLASSPATH\fP must contain the directory of the Java class files.
15 Class archives in \fBzip\fP format are not supported. The option
16 \fI\-ieee\fP is needed for a compliant implementation, the default
17 behaviour of CACAO (aborting in case of floating point exeptions) is both
18 faster and more desirable. The other options for \fBcacao\fP are in most
19 cases identical to the options of the \fBjava\fP interpreter of SUN's
20 JDK, with some additions and minor changes.
21 .SH OPTIONS
22 Currently recognized options are:
23 .TP
24 .B -classpath \fIpath\fP
25 Defines the search path for class files. Usually the environment variable
26 CLASSPATH specifies the search path, but this option overides the
27 value of the environment variable.
28 .TP
29 .B -propertyname=\fIvalue\fP
30 Assigns a value to an entry of the system property list.
31 .TP
32 .B -ms \fIinitmem\fP { k | m }
33 Specicfies the heap size at program start. If this size has been used
34 garbage collection is started.
35 .TP     
36 .B -mx \fImaxmem\fP { k | m }
37 Specifies maximal heap size. Default size is 16 MB.
38 .TP     
39 .B -oss \fIstacksize\fP { k | m }
40 no effect, compatibility option
41 .TP
42 .B -ss \fIstacksize\fP { k | m }
43 no effect, compatibility option
44 .TP
45 .B -noasyncgc
46 no effect, compatibility option
47 .TP
48 .B -noverify
49 no effect, compatibility option
50 .TP
51 .B -v, -verbose
52 CACAO prints a log message of every class loaded.
53 .TP
54 .B -verbosegc
55 CACAO prints a log message for each garbage collection.
56 .TP
57 .B -verbosecall
58 CACAO prints a log message for each method call.
59 .TP
60 .B -ieee
61 Enables IEEE compliant floating point arithmetic as specified in the
62 JVM specification. The default behavior is aborting CACAO with a
63 floating point exception on overflows.
64 .TP
65 .B -softnull
66 Software null pointer check is used instead of hardware null pointer
67 check. Needed for debugging of CACAO.
68 .TP     
69 .B -time
70 Gives statistics about run time after the program has completed.
71 .TP     
72 .B -stat
73 Gives detailed statistics about the compiled program.
74 .TP     
75 .B -log \fIlogfile\fP
76 Specifies the logfile. Default is \fIstdout\fP.
77 .TP
78 .B -c(heck){[b][s]}]
79 Disables different run time checks.
80 These options improves the run time of programs. But instead of throwing
81 an exception the program crashes. These options should only be used for
82 completely debugged programs.
83 .B b(ounds)
84 Disables array bound checks. Works well for \fBjavac\fP.
85 .B s(ync) 
86 Disables synchronization. Only useful for single threaded programs like
87 \fBjavac\fP or \fBjBYTEmark\fP
88 .B -l
89 Loads the class files into the CACAO system without calling method
90 \fBmain\fP. Used for debugging of CACAO.
91 .B -old
92 Use the old JIT compiler instead the new one. Used for debugging and comparison
93 of the two JIT compilers.
94 .TP     
95 .B -all
96 Compiles all methods without calling them.
97 Used for cross compilation and debugging of CACAO.
98 .TP
99 .B -m \fImethodname\fP
100 Compiles the specified method without calling it.
101 Used for debugging of CACAO.
102 .TP     
103 .B -sig \fIsignature\fP
104 specifies the signature of the method specified with the -m option.
105 Used for debugging of CACAO.
106 .TP
107 .B -s(how){[a][c][i][m][s][u]}
108 The following options are used for debugging of the CACAO system. The
109 compiler gives the values of internal data structures in readable form:
110 .B a(ssembler)
111 Gives an assembles listing of all compiled methods.
112 .B c(onstant)
113 Gives a listing of all constant pool entries.
114 .B i(ntermediate)
115 Gives the intermediate code of all compiled methods.
116 .B m(ethod)
117 Gives a description of all fields and methods of a class.
118 .B s(tack)
119 Gives the JavaVM stack for every compiled instruction.
120 .B u(nicode)
121 Gives the complete hash table with all unicode symbols.
122
123 .SH AUTHOR
124 Andreas Krall, Mark Probst, Philipp Tomsich, Reinhard Grafl, Markus Gschwind
125
126 Send mail to cacao@complang.tuwien.ac.at