KAFFE(1)

NAME
kaffe - a virtual machine to execute Java(tm) bytecode

SYNOPSIS

kaffe [options] classname [argument...]

kaffe [options] -jar filename [argument...]

The provided options are passed to kaffe virtual machine. Available options are described in the section OPTIONS. The provided arguments are passed to the main function of the called class.

DESCRIPTION

kaffe executes Java(tm) bytecode, either as a pure bytecode interpreter, or by doing "just-in-time" code conversion from the abstract code to the host machine's native code.

The specified classname has to be a fully-qualified classname (e.g. foo.bar.ClassName). If kaffe is used with the -jar flag, the class to execute is determined through the manifest file included in the specified Jar-File filename.

kaffe searches for needed classes during program execution on the bootclasspath (see -Xbootclasspath options) and the classpath given by the user (see the -classpath option).

OPTIONS

The options for the kaffe command are divided into general options (available on all kaffe installations), options provided for compatibility reasons and further options which are depending on the configuration during compilation of kaffe.

  GENERAL OPTIONS

These options are available on all kaffe installations.

-help
    Give a short usage message of all available options on your kaffe installation.

-version
    Print the version number.

-fullversion
    Same as -version plus compile date and flags, changelog head.

-ss size
    Set the maximum stack size to size.

-mx size
    Set the maximum heap size to size. Kilobytes are indicated by the letters k or K and megabytes by m or M.

-ms size
    Set the initial heap size to size. Kilobytes are indicated by the letters k or K and megabytes by m or M.

-as size
    Set the heap increment size to size

-classpath path
    Set the path which is searched for compiled classes. This can be a list of directories and Jar-Files containing compiled classes. The entries in this list are separated by colons (:).

-addclasspath path
    Appends the given path to the current classpath setting. Multiple instances of this flag may be given.

-Xbootclasspath: bootclasspath
    Set the bootclasspath to the given path.

-Xbootclasspath/a: bootclasspath
    Appends the given path to the bootclasspath.

-Xbootclasspath/p: bootclasspath
    Prepends the given path to the bootclasspath.

-Dproperty=value
    Set a property to a given value.

-verifyremote *
    Verify all classes not loaded from the bootclasspath. This is the default behavior.

-verify *
    Verify all classes.

-noverify
    Do not verify any classes.

-noclassgc
    Disable class garbage collection.

-verbosegc
    Print message during garbage collection.

-v, -verbose
    Enable verbose output.

-verbosemem
    Print detailed memory allocation statistics.

-verbosejit
    Print message during JIT code generation.

-verbosecall
    Print detailed call flow information.

-nodeadlock
    Disable deadlock detection.

-debug *
    Trace method calls.

-noasyncgc *
    Do not garbage collect asynchronously.

-cs, -checksource *
    Check source against class files.

-oss * size
    Maximum stack size.

-debug-fd descriptor
    Descriptor to send debug info to.

-jar file
    Executes a Java(tm) program which is provided by the given Jar-File file.

* Option currently ignored.

  COMPATIBILITY OPTIONS

These options are provided for compatibility reasons with other Java(tm) runtime environments.

-Xss size
    Maximum native stack size (see -ss).

-Xmx size
    Maximum heap size (see -mx).

-Xms size
    Initial heap size (see -ms).

-cp path
    Set classpath (see -classpath).

  FURTHER OPTIONS

Further options may be available based on the configuration of kaffe during compilation. To get a complete list of options available in your kaffe installation type kaffe --help on the commandline.

-ia32
    Execute the ia32 version of Kaffe.

-prof
    Enable profiling of methods.

-Xxprof
    Enable cross language profiling.

-Xxprof_syms file
    Name of the profiling symbols file [Default: kaffe-jit-symbols.s].

-Xxprof_gmon file
    Base name for gmon files [Default: xgmon.out]

-Xxdebug_file file
    Name of the debugging symbols file.

-Xfeedback
    The file name to write feedback data to.

-vmstats flag{,flag}
    Print VM statistics. Set flag=all for all

-Xnative-big-math
    Use GMP for faster, native bignum calculations.

-vmdebug flag{,flag}
    Enable VM debugging. Set flag=list for a list.

-Xkaffe-xlib-awt
    Use Kaffe's Xlib AWT backend.

-Xkaffe-qt-awt
    Use Kaffe's Qt2/3/Embedded AWT backend.

-Xkaffe-nanox-awt
    Use Kaffe's Nano-X AWT backend.

ENVIRONMENT

CLASSPATH
    A colon-separated list of directories and Jar-Files in which to search for .class files. The entries have to be separated by colons (:).

KAFFEHOME
    Base directory of kaffe installation.

LD_LIBRARY_PATH
    A colon-separated list of directories in which to search for libraries. See ld.so(1) for details. This needs to be set if Kaffe's shared libraries are installed in a location not part of the dynamic loader's default search path.

FILES

/usr/pkg/java/kaffe/share/kaffe/kafferc
    System-wide shell script read by kaffe script (optional).

${HOME}/.kafferc
    Per-user shell script read by kaffe script (optional).

DIAGNOSTICS

Not documented yet.

NOTES

Java is a registered trademark of Sun Microsystems, Inc.

Kaffe is available from various sites, the primary one being <http://www.kaffe.org: http://www.kaffe.org>.

There are several mailing lists for Kaffe:

kaffe@kaffe.org
    General Kaffe discussions

kaffe-announce@kaffe.org
    Kaffe related announcements

BUGS

See the file FAQ.Known-Bugs for an updated list.

AUTHOR

Kaffe was originally written by Tim Wilkinson, 1996. Many others contributed to the Kaffe project. They are listed in the source distribution's AUTHORS file.

COPYING

Kaffe is distributed under the GNU GPL. For full details, see the file license.terms in the source distribution for full details.

The included DOM bindings are published under the W3C Software Copyright Notice and License. For full details, see the file license-w3c.terms in the source distribution for full details.

SEE ALSO

jikes, a fast Java(tm) compiler

gjdoc, the GNU javadoc tool