# 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 name
                  Register this VM instance as name.  This is  useful
                  when  the JVM is going to be the target of JSI mes-
                  sages since you can just use  the  registered  name
                  instead  of a whole protocol and address specifica-
                  tion.

           -jsiprovider name
                  Specify where the jsi provider should listen.   The
                  format  of  name  is  a protocol name followed by a
                  colon  and  then  some   implementation   dependent
                  address  data.   For example, to listen on TCP port
                  10000 of the current machine (sloane.sd6.gov),  you
                  would  use  -jsiprovider  tcp:sloane.sd6.gov/10000.
                  Currently, only one provider is allowed at a  time.

           -jsitcpport port
                  Specify a TCP based JSI provider that should listen
                  on port .
                    Basically, a fast alternative to the above.

           -jsifile name
                  Setup a JSI link through files with name  as  their
                  basename.   This option can be used multiple times.
                  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.

           -nodeadlock
                  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

           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
           scripts and libtool files used by the JanosVM at  runtime.

## NOTES

           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.