We have implemented a virtual execution environment that executes legacy binary code on top of the type-safe Java Virtual Machine by recompiling native code instructions to type-safe bytecode. As it is essentially impossible to infer static typing into untyped machine code, our system emulates untyped memory on top of Java’s type system. While this approach allows to execute native code on any off-the-shelf JVM, the resulting runtime performance is poor. We propose a set of virtual machine extensions that add type-unsafe memory objects to JVM. We contend that these JVM extensions do not relax Java’s type system as the same functionality can be achieved in pure Java, albeit much less efficiently.
|Title of host publication||ECOOP Workshop on Programming Languages and Operating Systems|
|Publication status||Published - 2005|