The portability and runtime safety of programs which are executed on the Java Virtual Machine (JVM) makes the JVM an attractive target for compilers of languages other than Java. Unfortunately, the JVM was designed with language Java in mind, and lacks many of the primitives required for a straightforward implementation of other languages. Most fundamental of these obstacles in the limited range of parameter passing modes offered by the JVM.Here, we discuss possible ways of using the JVM to provide parameter passing modes with alternative semantics, and explore one particular architecture in practice. The interaction between these mechanisms and the Java "byte code verifier" is considered also.The open source Gardens Point Component Pascal compiler compiles the entire Component Pascal language, a dialect of Oberon-2, to JVM bytecodes. This compiler achieves runtime efficiencies which are comparable to native-code implementations of procedural languages.
Index Terms:
Compilers, Java Virtual Machine, languages other than Java, parameter passing mechanisms
Citation:
K John Gough, "Parameter Passing for the Java Virtual Machine," acsc, pp.81, Australasian Computer Science Conference, 2000