JanosVM v1.0 API

Package java.lang.isolate

JanosVM Isolate API Prototype

See:
          Description

Interface Summary
IsolateMessageDispatcher.Listener  
 

Class Summary
Isolate  
IsolateEvent XXX Use a static global exiting event, since it has no associated mutable state.
IsolateEvent.ExitReason  
IsolateEvent.Type  
IsolateMessage  
IsolateMessage_DataMessage  
IsolateMessage_Empty  
IsolateMessage_IOMessage All IsolateMessages that wrap IO objects extend this class.
IsolateMessageDispatcher XXX Horrible polling implementation.
IsolateMessageVisitor  
IsolatePermission  
Link  
SyncObj  
 

Exception Summary
ClosedLinkException  
IsolateStartupException  
LinkSerializationException  
 

Error Summary
IsolateResourceError  
UnimplementedError  
 

Package java.lang.isolate Description

JanosVM Isolate API Prototype

This is a prototype implementation of the public review version of the JSR-121 Application Isolation API.

There are no implied commitments to the final form of the API from the JSR-121 expert group in this implementation. This is definitely not 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.


JanosVM v1.0 API

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