Release of Jaguar v2.0 - Fast Java Communication and I/O
Matt Welsh
mdw@cs.berkeley.edu
Sat Apr 1 00:00:00 GMT 2000
I am happy to announce the release of Jaguar v2.0, a system enabling
high-performance communication and I/O from Java.
It is available from:
http://www.cs.berkeley.edu/~mdw/proj/jaguar
This release is targeted at Linux x86 systems, however, it should be
portable to other platforms. The software is entirely Open Source.
Jaguar is an extension of the Java runtime environment which enables direct
Java access to operating system and hardware resources, such as fast network
interfaces, memory-mapped and programmed I/O, and specialized machine
instruction sets. Jaguar can be thought of as a replacement for the Java
Native Interface. Unlike the JNI, however, Jaguar does not require copying
of data between the JVM and C code, nor expensive traversals between the
Java and native code contexts. Rather, Jaguar relies upon a flexible
bytecode translation technique which directly inlines specialized "driver"
code to access low-level system resources from Java while maintaining type
safety. This translation can be performed by a JIT compiler or a static
("ahead of time") compiler.
Jaguar v2.0 is implemented as a Java-based "front-end" compiler which
translates Java bytecode to "Jaguar bytecode", identical to Java bytecode
except for several additional instructions required to perform direct
memory access. Only Jaguar driver code (which is inlined in with application
code during the translation step from Java to Jaguar bytecode) may make use
of these instructions. The Jaguar "back-end" compiler, an extension of
GCJ ( http://sourceware.cygnus.com/java ), translates the generated Jaguar
bytecode to machine code for execution.
Please let me know if you have any questions or comments!
Matt Welsh, mdw@cs.berkeley.edu
UC Berkeley Computer Science Division
More information about the Java
mailing list