Title :
Java JNI Bridge: a framework for mixed native ISA execution
Author :
Chen, Miaobo ; Goldenberg, Shalom ; Srinivas, Suresh ; Ushakov, Valery ; Wang, Young ; Zhang, Qi ; Lin, Eric ; Zach, Yoav
Abstract :
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.
Keywords :
Java; instruction sets; program interpreters; software libraries; Java JNI Bridge; Java Virtual Machine; Java applications; Java platform; dynamic translator; instruction set architecture; managed runtime environments; native method calls; operating system; shared libraries; write once, deploy anywhere mechanism; Bridges; Environmental management; Instruction sets; Java; Libraries; Linux; Operating systems; Production; Runtime environment; Virtual machining;
Conference_Titel :
Code Generation and Optimization, 2006. CGO 2006. International Symposium on
Print_ISBN :
0-7695-2499-0
DOI :
10.1109/CGO.2006.22