{"title":"Parameter passing for the Java virtual machine","authors":"John Gough","doi":"10.1109/ACSC.2000.824384","DOIUrl":null,"url":null,"abstract":"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 is the limited range of parameter passing modes offered by the JVM. 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 also considered. 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.","PeriodicalId":304540,"journal":{"name":"Proceedings 23rd Australasian Computer Science Conference. ACSC 2000 (Cat. No.PR00518)","volume":"159 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2000-01-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings 23rd Australasian Computer Science Conference. ACSC 2000 (Cat. No.PR00518)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ACSC.2000.824384","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 10
Abstract
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 is the limited range of parameter passing modes offered by the JVM. 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 also considered. 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.
在Java虚拟机(JVM)上执行的程序的可移植性和运行时安全性使JVM成为除Java之外的其他语言编译器的一个有吸引力的目标。不幸的是,JVM在设计时考虑了Java语言,并且缺乏其他语言直接实现所需的许多原语。这些障碍中最基本的是JVM提供的参数传递模式的有限范围。我们将讨论使用JVM提供具有替代语义的参数传递模式的可能方法,并在实践中探索一种特定的体系结构。还考虑了这些机制与Java“字节码验证器”之间的交互。开源的Gardens Point Component Pascal编译器将整个Component Pascal语言(Oberon-2的一种方言)编译为JVM字节码。该编译器的运行时效率可与过程语言的本机代码实现相媲美。