# janosvm man page

           janosvm - a virtual machine to execute Java(tm) bytecodes.

## SYNOPSIS

           janosvm [options...]  classname [arguments...]

## DESCRIPTION

           janosvm loads and  executes  the  bytecode  in  the  class
           classname,  starting  with  the main method (which must be
           static and public).  Any arguments given  after  classname
           are  passed  to  the  main method.  Additional classes are
           loaded as needed.

           Unlike other virtual machines, the JanosVM supports multi-
           ple, separate processes (called "teams" in JanosVM) within
           a single VM.  Based  on  KaffeOS  (and  thus  Kaffe),  the
           JanosVM supports per-team separate heaps, per-team garbage
           collection  threads,  inter-team  thread  migration,  safe
           cross-team  reference  objects,  and  a  spiffy  tutorial.
           Designed to support asynchronous termination of uncoopera-
           tive  or malicious Java applications, the JanosVM provides
           robust and scalable multi-process support within a  single
           Java virtual machine.

## OPTIONS

           -help  Give a short usage message.

           -version
                  Print the version number.

           -fullversion
                  Print verbose version info

           -ss size
                  Set the maximum stack size to size

           -ms size
                  Set the initial heap size to size

           -mx size
                  Set the maximum heap size to size

           -as size
                  Set the heap increment to size

           -classpath path
                  Override  the  default  search path for class files
                  with path.

           -addclasspath path
                  Appends the given path  to  the  current  classpath
                  setting.  Multiple  instances  of  this flag may be
                  given.
                  Set property to the given value.   Some  properties
                  are  used by the VM at startup.  All can be fetched
                  at runtime through the method System.getProperty().

           -noverify
                  Do not verify any bytecode.

           -noclassgc
                  Disable garbage collection of classes.

           -jar   The startup class, classname, names a JAR file.

           -v     Enable verbose output.

           -verbosegc
                  Print messages during garbage collection.

           -verbosejit
                  Print messages during JIT code generation.

           -verbosemem
                  Print detailed memory allocation statistics.

           -vmstats flag{,flag}
                  Turn  on  VM statistcs. Use ``-vmstats list'' for a
                  list of available flags.

           -name  Register this VM instance as name.

           -jsiprovider name
                  Specify where the jsi provider should listen.

           -jsitcpport port
                  Listen on port for TCP JSI messages.

           -jsifile name
                  Setup a JSI link through files with name  as  their
                  basename.

           -config file
                  Use  file for initial configuration of the JanosVM.

           -noexit
                  The  JanosVM  continues  even  if  only  non-dameon
                  threads are running.  Useful for JSI-controlled VMs
                  that would otherwise exit.

           -vmdebug flag{,flag}
                  Enable VM debugging. Use ``-vmdebug list'' to get a
                  list of available flags.

                  Disable deadlock detection.

           -Xxprof
                  Enable cross language profiling.  See FAQ/FAQ.xpro-
                  filer for details.

           -Xxprof_syms  filename
                  Name of the profiling symbols  file.   Defaults  to
                  kaffe-jit-symbols.s.

           -Xxprof_gmon  filename
                  Base name for gmon files. Defaults to xgmon.out

           -Xxprof_format  formatname
                  Undocumented.

           -Xxdebug
                  Generate  a  debugging  symbols file usable by gdb.
                  See FAQ/FAQ.xdebugging for details.

           -Xxdebug_file  format name
                  Name of the debugging symbols  file.   Defaults  to
                  xdb.as.

           -Xfeedback
                  The file name to write feedback data to.

## ENVIRONMENT

           CLASSPATH
                  A  colon-separated  list of directories in which to
                  search for .class files.

           KAFFEHOME
                  Base directory of kaffe installation.

           KAFFE_DEBUG
                  Optional value naming the debugger to start JanosVM
                  up  under.   Performs debugger-specific initializa-
                  tion to ensure that the  JanosVM  command  line  is
                  used  by the debugger.  Can be ``gdb'', ``DDD'', or
                  ``Emacs'' (for Emacs GDB mode).

           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

           There are native libraries, jar files, class files,  shell
           Java is a registered trademark of Sun Microsystems, Inc.

           JanosVM            is             available             at
           http://www.cs.utah.edu/flux/janos/.

           See that page for information on mailing lists.

           The  JanosVM  is  based on Kaffe, http://www.kaffe.org/, a
           freely-available GPL'd Java Virtual Machine.

## AUTHOR

           The JanosVM was written by the Flux Group at  the  Univer-
           sity of Utah.

           Kaffe    was   originally   written   by   Tim   Wilkinson
           <tim@transvirtual.com>, 1996.  Many, many others have con-
           tributed to the Kaffe project.

## COPYING

           The  JanosVM  is  distributed  under the GNU GPL. For full
           details, see the file license.terms in the source  distri-
           bution for full details.