the formal
Reference Implementation (RI) for JSR-121.
Usage
jisovm: Use the jisovm
wrapper script to start the VM.
This puts the jar file that contains the Isolate implementation in the
CLASSPATH
before starting JanosVM, and provides an
isolate-specific config file (see kaffe/etc/janosvm-isolate.config
).
jisoc: A wrapper for jikes/javac/kjc to put the Isolate jar
on the CLASSPATH
before invoking a compiler. Useful for compiling
code built on the Isolate API.
Caveats
No NIO-related support. There is no implementation of NIO
for Kaffe or JanosVM, so there is no support in IsolateMessage
for
NIO types, and no support
for LinkChannel
.
Polling IsolateMessageDispatcher
. The
IsolateMessageDispatcher
is a heavy-weight constant-polling
implementation. This is consistent with the requirements of the
API, but its a bit too heavy.
Single-procees. Single process implementation implies no
JNI isolation, nor are VM faults isolated. Also any per-process
limits apply to the entire aggregate. JanosVM does support
per-Team resource limits, but the appropriate properties aren't
exposed.
No AWT. JanosVM doesn't have any AWT support.
Partial ExitReason
/ExitCode
support. If Runtime.halt()
or
Runtime.exit()
are used, the exit code won't be recorded
in isolate's exit code (and the reason will be
IMPLICIT_EXIT
in
both cases).
Debugging
There are some examples and simple test programs in the
test/janosvm/isolate
directory.
Tracing. Pass "-Disolate.trace=FOO" to
jisovm
to turn on "foo" tracing. See
Trace.java
for a list of valid foos.
This documentation is Copyright (C) 2000-2003 The University of Utah. All Rights Reserved. See the documentation license for distribution terms and restrictions.
Documentation, software, and mailing lists for the JanosVM can be found at the Janos Project web page: http://www.cs.utah.edu/flux/janos/
Generated on Feb 13, 2003