Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/320384.320418acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article
Free access

Implementing jalapeño in Java

Published: 01 October 1999 Publication History

Abstract

Jalapeño is a virtual machine for Java™ servers written in Java.
A running Java program involves four layers of functionality: the user code, the virtual-machine, the operating system, and the hardware. By drawing the Java / non-Java boundary below the virtual machine rather than above it, Jalapeño reduces the boundary-crossing overhead and opens up more opportunities for optimization.
To get Jalapeño started, a boot image of a working Jalapeño virtual machine is concocted and written to a file. Later, this file can be loaded into memory and executed. Because the boot image consists entirely of Java objects, it can be concocted by a Java program that runs in any JVM. This program uses reflection to convert the boot image into Jalapeño's object format.
A special MAGIC class allows unsafe casts and direct access to the hardware. Methods of this class are recognized by Jalapeño's three compilers, which ignore their bytecodes and emit special-purpose machine code. User code will not be allowed to call MAGIC methods so Java's integrity is preserved.
A small non-Java program is used to start up a boot image and as an interface to the operating system.
Java's programming features — object orientation, type safety, automatic memory management — greatly facilitated development of Jalapeño. However, we also discovered some of the language's limitations.

References

[1]
Bowen Alpern, Dick At~anasio, John J. Barton, Michael G. Burke, Perry Cheng, Jong-Deok Choi, Anthony Cocchi, Stephen Fink, David Grove, Michael Hind, Susan Flynn Hummel, Derek Lieber, Vassily Litvinov, Ton Ngo, Mark Mergen, Vivek Sarkar, Mauricio J. Serrano, Janicc Shepherd, Stephen Smith, V. C. Sreedhar, Harini Srinivasan, and John Whaley. The Jalepefio virtual machine. IBM Systems Journal, 2000.
[2]
Bowen Alpern, Mark Charney, Jong-Deok Choi, Anthony Cocchi, and Derek Lieber. Dynamic hnking on a shared-memory microprocessor. In International con- ~erence on Parallel Architectures and Compiler Techniques, October 1999.
[3]
Bowen Alpern, Anthony Cocchi, Derek Lieber, Mark Mergen, and Vivek Sarkar. J~lapefio -- a Compiler- Supported Java Virtual Machine for Servers. In A CM SIGPLAN 1999 Workshop on Compiler Support }or System Software (WCSSS'99), May 1999. (Also available as INRIA report No. 0228, March 1999.).
[4]
David F. Bacon, Ravi Konuru, Chet Murthy, and Mauricio Serrano. Thin locks: featherweight synchronization for Java. In SIGPLAN '98 Conference on Programming Language Design and Implementation, pages 258-268, June 1998.
[5]
Michael G. Burke, Jong-Deok Choi, Stephen Fink, David Grove, Michael Hind, Vivek Sarkar, Mauricio J. Serrano, V. C. $reedhar, Harini Srinivasan, and John Whaley. The Jalapefio Dynamic Optimizing Compiler for Java. In A CM Java Grande Conference, June 1999.
[6]
John Chapin. Personal communication re. the Rivet project at MIT. See http://sdg.lcs.mit.edu/rivet.html for further information.
[7]
John Duimovich. Personal communication.
[8]
James Goshng, Bill Joy, and Guy Steele. The Java Language Specification. The Java Series. Addison-Wesley, 1996.
[9]
The java Hotspot Performance Engine Architecture. White paper available at http://j ava. sun.corn/products/h otspot/whitepaper.html.
[10]
IBM Corporation. AIX Version,~.3 Technical References, 1998.
[11]
Dan Ingels, Ted Kaehler, John Maloney, Scott Wallace, and Alan Kay. The Story of Squeak, A Practical Smalltalk Written in Itself. In Proceedings of the 1997 A CM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOP- SLA '97), pages 318-326, October 1997.
[12]
Java development kit 1.1, see http://j ava. sun. corn/marketing/collar er al/j dk_ so. ht ml.
[13]
Richard Jones and Rafael Lins. Garbage Collection: Algorithms }or Automatic Dynamic Memory Management. John Wiley & Sons, 1996.
[14]
Tim Lindholm and Frank Yellin. The Java Virtual Machine Specij~cation. The Java Series. Addison-Wesley, 1996.
[15]
Cathy May, Ed Sflha, Rick Simpson, and Hank Warren. The PowerPC Architecture. Morgan Kaufmann Publishers, Inc., San Francisco, California, 1994.
[16]
Tamiya Onodera and Kiyokuni Kawachiya. A study of locking objects with bimodal fields. In A CM Conference on Object-Oriented Programming Systems, Languages, and Applications, November 1999.
[17]
James M. Stichnoth, Guei-Yuan Lueh, and Michal Cierniak. Support for garbage collection at every instruction in a java compiler, in SIGPLAN 'Y9 Conference on Programming Language Design and Implementation, pages 326-336, May 1999.
[18]
Antero Taivalsaari. implementing a Java Virtual Machine in the Java programming language. Technical B.eport SMLI TR-98-64, Sun Microsystems, March 1998.

Cited By

View all
  • (2022)Nonlinear Compliant Modes for Large-deformation Analysis of Flexible StructuresACM Transactions on Graphics10.1145/356895242:2(1-11)Online publication date: 22-Nov-2022
  • (2022)Analysis of Software Engineering Skills Gap in the IndustryACM Transactions on Computing Education10.1145/356783723:1(1-28)Online publication date: 29-Dec-2022
  • (2022)Perceptual Visibility Model for Temporal Contrast Changes in PeripheryACM Transactions on Graphics10.1145/356424142:2(1-16)Online publication date: 22-Nov-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '99: Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
October 1999
462 pages
ISBN:1581132387
DOI:10.1145/320384
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 October 1999

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

OOPSLA99
Sponsor:

Acceptance Rates

OOPSLA '99 Paper Acceptance Rate 30 of 152 submissions, 20%;
Overall Acceptance Rate 268 of 1,244 submissions, 22%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)212
  • Downloads (Last 6 weeks)36
Reflects downloads up to 20 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Nonlinear Compliant Modes for Large-deformation Analysis of Flexible StructuresACM Transactions on Graphics10.1145/356895242:2(1-11)Online publication date: 22-Nov-2022
  • (2022)Analysis of Software Engineering Skills Gap in the IndustryACM Transactions on Computing Education10.1145/356783723:1(1-28)Online publication date: 29-Dec-2022
  • (2022)Perceptual Visibility Model for Temporal Contrast Changes in PeripheryACM Transactions on Graphics10.1145/356424142:2(1-16)Online publication date: 22-Nov-2022
  • (2022)Better Understanding the Costs and Benefits of Automatic Memory ManagementProceedings of the 19th International Conference on Managed Programming Languages and Runtimes10.1145/3546918.3546926(29-44)Online publication date: 14-Sep-2022
  • (2020)Two decades of live coding and debugging of virtual machines through simulationSoftware: Practice and Experience10.1002/spe.284150:9(1629-1650)Online publication date: 8-May-2020
  • (2019)Initialize once, start fast: application initialization at build timeProceedings of the ACM on Programming Languages10.1145/33606103:OOPSLA(1-29)Online publication date: 10-Oct-2019
  • (2019)Improved Ahead-of-time Compilation of Stack-based JVM Bytecode on Resource-constrained DevicesACM Transactions on Sensor Networks10.1145/334117015:3(1-44)Online publication date: 13-Aug-2019
  • (2019)Multicast Scaling of Capacity and Energy Efficiency in Heterogeneous Wireless Sensor NetworksACM Transactions on Sensor Networks10.1145/332249715:3(1-32)Online publication date: 30-May-2019
  • (2019)Collaborative Mobile Crowdsensing in Opportunistic D2D NetworksACM Transactions on Sensor Networks10.1145/331768915:3(1-30)Online publication date: 17-May-2019
  • (2019)A Survey on Bluetooth 5.0 and MeshACM Transactions on Sensor Networks10.1145/331768715:3(1-29)Online publication date: 30-May-2019
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media