International Symposium on Code Generation and Optimization (CGO'06) Java JNI Bridge: A Framework for Mixed Native ISA Execution New York, New York March 26-March 29 ISBN: 0-7695-2499-0
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/CGO.2006.22
Managed Runtime Environments (MRTEs) such as the Java platform promise a cross platform "Write Once, Deploy Anywhere" mechanism. However, MRTE applications that contain native method calls are not seamlessly portable across platforms. In this paper, we describe a new approach to transparently run Java applications containing native method calls to one ISA (Instruction Set Architecture) on a different ISA?s Java platform. This approach operates within the same operating system process that executes the application but with the support of a dynamic translator. This paper describes the technical challenges and solutions of such an in-process implementation within a production Java Virtual Machine (JVM). These include interfacing the JVM with a dynamic translator to support native calls to a different ISA, pursuing a JVM-independent implementation, enhancing the dynamic translator to support shared libraries in addition to executables, marshalling arguments across ISA boundaries, and providing full support for all Java features such as multi-threading. The paper presents performance results for an end-user application, showing our approach to be 2-3 times faster than other approaches.
Citation:
Miaobo Chen, Shalom Goldenberg, Suresh Srinivas, Valery Ushakov, Young Wang, Qi Zhang, Eric Lin, Yoav Zach, "Java JNI Bridge: A Framework for Mixed Native ISA Execution," cgo, pp.65-75, International Symposium on Code Generation and Optimization (CGO'06), 2006 Usage of this product signifies your acceptance of the Terms of Use. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||