Learn More
Jalapeño is a virtual machine for Java 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(More)
Now that the use of garbage collection in languages like Java is becoming widely accepted due to the safety and software engineering benefits it provides, there is significant interest in applying garbage collection to hard real-time systems. Past approaches have generally suffered from one of two major flaws: either they were not provably real-time, or(More)
& B. Alpern S. Augart S. M. Blackburn M. Butrico A. Cocchi P. Cheng J. Dolby S. Fink D. Grove M. Hind K. S. McKinley M. Mergen J. E. B. Moss T. Ngo V. Sarkar M. Trapp 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(More)
Increasingly popular languages such as Java and C# requireefficient garbage collection. This paper presents thedesign, implementation, and evaluation of MMTk, a MemoryManagement Toolkit for and in Java. MMTk is an efficient, composable, extensible, and portable framework for building garbage collectors. MMTk uses design patternsand compiler cooperation to(More)
We describe a parallel, real-time garbage collector and present experimental results that demonstrate good scalability and good real-time bounds. The collector is designed for shared-memory multiprocessors and is based on an earlier collector algorithm [2], which provided fixed bounds on the time any thread must pause for collection. However, since our(More)
The goal of the TIL project was to explore the use of Typed Intermediate Languages to produce high-performance native code from Standard ML (SML). We believed that existing SML compilers were doing a good job of conventional functional language optimizations, as one might find in a LISP compiler, but that inadequate use was made of the rich type information(More)
This paper presents two techniques for improving garbage collection performance: generational stack collection and profile-driven pretenuring. The first is applicable to stack-based implementations of functional languages while the second is useful for any generational collector. We have implemented both techniques in a generational collector used by the(More)
Now that the use of garbage collection in languages like Java is becoming widely accepted due to the safety and software engineering benefits it provides, there is significant interest in applying garbage collection to hard real-time systems. Past approaches have generally suffered from one of two major flaws: either they were not provably real-time, or(More)
The halt in clock frequency scaling has forced architects and language designers to look elsewhere for continued improvements in performance. We believe that extracting maximum performance will require compilation to highly heterogeneous architectures that include reconfigurable hardware. We present a new language, Lime, which is designed to be executable(More)
This paper explores and quantifies garbage collection behavior for three whole heap collectors and generational counterparts: <i>copying semi-space, mark-sweep,</i> and <i>reference counting</i>, the canonical algorithms from which essentially all other collection algorithms are derived. Efficient implementations in MMTk, a Java memory management toolkit,(More)