Learn 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)
In this paper we present an optimality result for the Delaunay triangulation of a set of points in Etd. We also show that some of the well known properties of the Delaunay triangulation in IR2 can, when appropriately defined, be generalized to the Delau-nay triangulation in Etd. In particular, we show that (a) the maximum rein-containment radius (the radius(More)
With the widespread adoption of Java, there is significant interest in using the language for programming real-time systems. The community has generally viewed a truly real-time garbage collector as being impossible to build, and has instead focused its efforts on adding manual memory management mechanisms to Java. Unfortunately, these mechanisms are an(More)
The deployment of Java as a concurrent programming language has created a critical need for high-performance, concurrent, and incremental multiprocessor garbage collection. We present the <i>Recycler</i>, a fully concurrent pure reference counting garbage collector that we have implemented in the Jalape&#241;o Java virtual machine running on shared memory(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)
class Mat(rows:Long, cols:Long) { static type Mat(r:Long, c:Long) = Mat{rows==r&&cols==c}; abstract operator this + (y:Mat(this.rows,this.cols)) :Mat(this.rows, this.cols); abstract operator this * (y:Mat) {this.cols == y.rows} :Mat(this.rows, y.cols); The following code typechecks (assuming that makeMat(m,n) is a function which creates an m×nmatrix).(More)
Today's virtual machines (VMs) dynamically optimize an application as it is executing, often employing optimizations that are specialized for the current execution profile. An online phase detector determines when an executing program is in a stable period of program execution (a phase) or is in transition. A VM using an online phase detector can apply(More)