Jalapeño is a virtual machine for Java TM servers written in the Java language. To be able to address the requirements of servers (performance and scalability in particular), Jalapeño was designed "from scratch" to be as self-sufficient as possible. Jalapeño's unique object model and memory layout allows a hardware null-pointer check as well as fast access to array elements, fields, and methods. Run-time services conventionally provided in native code are implemented primarily in Java. Java threads are multiplexed by virtual processors (implemented as operating system threads). A family of concurrent object allocators and parallel type-accurate garbage collectors is supported. Jalapeño's interoperable compilers enable quasi-preemptive thread switching and precise location of object references. Jalapeño's dynamic optimizing compiler is designed to obtain high quality code for methods that are observed to be frequently executed or computationally intensive.
This paper describes the evolution of the Jikese Research Virtual Machine project from an IBM internal research project, called Jalapeñ o, into an open-source project. After summarizing the original goals of the project, we discuss the motivation for releasing it as an open-source project and the activities performed to ensure the success of the project. Throughout, we highlight the unique challenges of developing and maintaining an open-source project designed specifically to support a research community. On October 15, 2001, IBM Research launched the Jikes* RVM (Research Virtual Machine) open-source project.Jikes RVM provides a novel virtual-machine software infrastructure, suitable for research on modern programming language design and implementation techniques. Over the past three years, the project has grown and made a significant impact on the programming-language research community. This paper describes the evolution of Jikes RVM from an IBM internal research project, called Jalapeñ o, into a full-fledged open-source project. The story provides an instructive case study on how a small systems research project can grow into a shared project used by hundreds of researchers. The paper discusses a variety of challenges that arose in this process, including the technical enhancements and software-engineering practices needed to ensure the project's success; dealing with intellectual property, corporate process, and licensing issues;promoting the system in the research community; and developing a community to maintain and enhance the system in the future.The primary focus of the Jikes RVM project was the development of a software platform designed to be a research testbed for the prototyping of new technologies. In contrast, most open-source projects develop software products for use by the general public. We focus on the implications of this distinction throughout the paper.The remainder of this paper is as follows. The next section begins with a general discussion of issues Ó
Jalapeno is a virtual machine for JavaTM 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, Jalapeiio reduces the boundary-crossing overhead and opens up more opportunities for optimization. To get Jalapeno started, a boot image of a working Jalapeiio 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 Jalapeno's object format.A special MAGIC class allows unsafe casts and direct access to the hardware.Methods of this class are recognized by Jalapeno'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 Jalapeno. However, we also discovered some of the langauge's limitations.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.