Abstract

The coexistence of programs written in a safe language with user-supplied unsafe (native) code is convenient (e.g., it enables direct access to operating system resources), but at the same time it is problematic (e.g., it may decrease reliability and debuggability). This work aims at retaining most of the benefits of interfacing a safe language with native code while addressing its problems. It is carried out in the context of the Java/sup TM/ Native Interface (JNI). Our approach is to execute the native code in an operating system process different than that of the safe language application. A technique presented in this paper accomplishes this transparently, automatically,, and without sacrificing any of the JNI functionality. No changes to the Java virtual machine (JVM/sup TM/) or its runtime are necessary. The resulting prototype does not depend on a particular implementation of the JVM, and is highly portable across hardware architectures and operating systems. This approach can be used to improve reliability of applications consisting of a mix of safe and native code and to facilitate debugging them.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.