Modelling a JVM for polymorphic bytecode
TL;DR: This work analyzes how polymorphic bytecode can be dynamically linked presenting a deterministic model of a Java Virtual Machine which interleaves loading and linking steps with execution.
read more
Abstract: In standard compilation of Java-like languages, the bytecode generated for a given source depends on both the source itself and the compilation environment. This latter dependency poses some unnecessary restrictions on which execution environments can be used to run the code. When using polymorphic bytecode, a binary depends only on its source and can be dynamically adapted to run on diverse environments. Dynamic linking is particularly suited to polymorphic bytecode, because it can be adapted to an execution environment as late as possible, maximizing the exibility of the approach. We analyze how polymorphic bytecode can be dynamically linked presenting a deterministic model of a Java Virtual Machine which interleaves loading and linking steps with execution. In our model, loading and execution phases are basically standard, whereas verication handles also type constraints, which are part of polymorphic bytecode, and resolution blends in verication.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Reconciling method overloading and dynamically typed scripting languages
TL;DR: This work presents dynamic type tag, an elegant solution for dynamic language interpreters to properly interact with Java objects in the presence of overloaded methods, to embody a type annotation in a Java object reference.
Always-available static and dynamic feedback
Michael Bayne,Richard J. Cook,Michael D. Ernst +2 more
- 21 May 2011
TL;DR: This work presents a novel approach to giving developers the benefits of both static and dynamic typing, throughout the development process, and without the burden of manually separating their program into statically and dynamically-typed parts.
References
•Book
The Java Language Specification
James Gosling,Bill Joy,Guy L. Steele +2 more
- 12 Sep 1996
TL;DR: The Java Language Specification, Second Edition is the definitive technical reference for the Java programming language and provides complete, accurate, and detailed coverage of the syntax and semantics of the Java language.
•Book
The Java Virtual Machine Specification
Tim Lindholm,Frank Yellin +1 more
- 19 Sep 1996
TL;DR: In this article, the authors present a detailed overview of the Java Virtual Machine, including the internal structure of the class file format, the internal form of Fully Qualified Class and Interface names, and the implementation of new class instances.
Featherweight Java: a minimal core calculus for Java and GJ
TL;DR: This work extends Featherweight Java with generic classes in the style of GJ and gives a detailed proof of type safety, which formalizes for the first time some of the key features ofGJ.
•Book
Java Virtual Machine Specification
Tim Lindholm,Frank Yellin +1 more
- 01 Apr 1999
TL;DR: The Java Virtual Machine as discussed by the authors is the technology that enables the Java 2 platform to host applications on any computer or operating system without rewriting or recompiling, and is the complete and definitive specification for the technology.
918
Featherweight Java: a minimal core calculus for Java and GJ
Atsushi Igarashi,Benjamin C. Pierce,Philip Wadler +2 more
- 01 Oct 1999
TL;DR: A proof of type safety for Featherweight Java illustrates many of the interesting features of a safety proof for the full language, while remaining pleasingly compact.
Related Papers (5)
Clément Béra,Eliot Miranda +1 more
- 01 Jan 2014
Etienne Gagnon,Laurie Hendren +1 more
- 23 Apr 2001
Laurie Hendren,Etienne Gagnon +1 more
- 01 Jan 2003