Galen Hunt, Mark Aiken, Paul Barham, Manuel Fähndrich, Chris Hawblitzel, Orion Hodson, ...
On most modern operating systems, a process is a hardware-protected abstraction for executing potentially mutable code and data. Common features of processes include: dynamic code loading, dynamic...
An Overview of the Singularity Project 1 (2008)
Galen Hunt, James Larus, Martín Abadi, Mark Aiken, Paul Barham, Manuel Fähndrich, ...
Abstract. Singularity is a research project in Microsoft Research that started with the question: what would a software platform look like if it was designed from scratch with the primary goal of...
Abstract Measuring the Cost of Storage Management (2008)
We study the cost of storage management for garbagecollected programs compiled with the Standard ML of New Jersey compiler. We show that the cost of storage management is not the same as the time...
An Overview of the Singularity Project 1 (2008)
Galen Hunt, James Larus, Martín Abadi, Mark Aiken, Paul Barham, Manuel Fähndrich, ...
Abstract. Singularity is a research project in Microsoft Research that started with the question: what would a software platform look like if it was designed from scratch with the primary goal of...
In order to define the CPS transformation more formally, two alternative presentations are given. The first takes the form of a continuation semantics for the call-by-need language. The second...
Abstract Optimizing Memory Transactions (2008)
Tim Harris, Mark Plesko, Avraham Shinnar, David Tarditi
Atomic blocks allow programmers to delimit sections of code as ‘atomic’, leaving the language’s implementation to enforce atomicity. Existing work has shown how to implement atomic blocks over...
RETROSPECTIVE: ABSTRACT TIL: A Type-Directed, Optimizing Compiler for ML (2008)
David Tarditi, Greg Morrisett, Perry Cheng, Chris Stone
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...
Sealing OS Processes to Improve Dependability and Safety (2007)
Galen Hunt, Mark Aiken, Manuel Fähndrich, Chris Hawblitzel, Orion Hodson, James Larus, ...
In most modern operating systems, a process is a hardware-protected abstraction for isolating code and data. This protection, however, is selective. Many common mechanisms—dynamic code loading,...
Broad New OS Research: Challenges and Opportunities (2005)
Galen C. Hunt, James R. Larus, David Tarditi, Ted Wobber
Contemporary software systems are beset by problems that create challenges and opportunities for broad new OS research. To illustrate, we describe five areas where broad OS research could...
Integrating support for undo with exception handling (2004)
Avraham Shinnar, David Tarditi, Mark Plesko, Bjarne Steensgaard
One of the important tasks of exception handling is to restore program state and invariants. Studies suggest that this is often done incorrectly. We introduce a new language construct that integrates...
Marmot: an optimizing compiler for Java (1999)
Robert Fitzgerald, Robert Fitzgerald, Todd B. Knoblock, Todd B. Knoblock, Erik Ruf, Erik Ruf, ...
The Marmot system is a research platform for studying the implementation of high level programming languages. It currently comprises an optimizing native-code compiler, runtime system, and libraries...
Marmot: An Optimizing Compiler for Java (1999)
Robert Fitzgerald, Robert Fitzgerald, Todd B. Knoblock, Todd B. Knoblock, Erik Ruf, Erik Ruf, ...
The Marmot system is a research platform for studying the implementation of high level programming languages. It currently comprises an optimizing native-code compiler, runtime system, and libraries...
Marmot: An Optimizing Compiler for Java (1999)
Robert Fitzgerald, Robert Fitzgerald, Todd B. Knoblock, Todd B. Knoblock, Erik Ruf, Erik Ruf, ...
The Marmot system is a research platform for studying the implementation of high level programming languages. It currently comprises an optimizing native-code compiler, runtime system, and libraries...
AnO11ECompiler for Java (1999)
Bjarne Steensgaard And, Robert Fitzgerald, Robert Fitzgerald, Todd B. Knoblock, Todd B. Knoblock, Erik Ruf, ...
The Marmot srmot is aresPE6 h platform forsrfiR1B1 the implementation of high level programming languages It currentlycompris6 an optimizing native-code compiler, runtimesmefi9B andlibraries for a...
Marmot: an optimizing compiler for Java (1999)
Robert Fitzgerald, Robert Fitzgerald, Todd B. Knoblock, Todd B. Knoblock, Erik Ruf, Erik Ruf, ...
The Marmot system is a research platform for studying the implementation of high level programming languages. It currently comprises an optimizing native-code compiler, runtime system, and libraries...
Marmot: an optimizing compiler for Java (1999)
Robert Fitzgerald, Robert Fitzgerald, Todd B. Knoblock, Todd B. Knoblock, Erik Ruf, Erik Ruf, ...
The Marmot system is a research platform for studying the implementation of high level programming languages. It currently comprises an optimizing native-code compiler, runtime system, and libraries...
Memory Subsystem Performance of Programs with Intensive Heap Allocation. (1998)
Diwan, Amer, Tarditi, David, Moss, Eliot
Heap allocation with copying garbage collection is a general storage management technique for modern programming languages. It is believed to have poor memory subsystem performance. To investigate...
Memory Subsystem Performance of Programs Using Copying Garbage Collection, (1998)
Diwan, Amer, Tarditi, David, Moss, Eliot
Heap allocation with copying garbage collection is believed to have poor memory subsystem performance. We conducted a study of the memory subsystem performance of heap allocation for memory...
Measuring the Cost of Storage Management, (1998)
We study the cost of storage management for garbage-collected programs compiled with the Standard ML of New Jersey compiler. We show that the cost of storage management is not the same as the time...
Design and Implementation of Code Optimizations for a Type-Directed Compiler for Standard ML. (1997)
The trends in software development are towards larger programs, more complex programs, and more use of programs as 'component software'. These trends mean that the features of modern programming...
TIL: A Type-Directed Optimizing Compiler for ML. (1997)
Tarditi, David, Stone, Chris, Morrisett, Greg, Harper, Robert, Cheng, Perry
We describe a new compiler for Standard ML called TIL, that is based on four technologies: intensional polymorphism, tag-free garbage collection, conventional functional language optimization and...
"December 1996."
TIL: A type-directed optimizing compiler for ML (1996)
David Tarditi, Greg Morrisett, Perry Cheng, Chris Stone, Robert Harper, Peter Lee
We describe a new compiler for Standard ML called TIL, that is based on four technologies: intensional polymorphism, tag-free garbage collection, conventional functional language optimization, and...
The TIL/ML Compiler: Performance and Safety through Types (1996)
Greg Morrisett, David Tarditi, Perry Cheng, Chris Stone, P. Cheng, Peter Lee, ...
Systems code requires both high performance and reliability. Usually, these two goals are at odds with each other. For example, to prevent kernel data structures from being over-written or read,...
TIL: A Type-Directed Optimizing Compiler for ML (1996)
David Tarditi, Greg Morrisett, Perry Cheng, Chris Stone, Robert Harper, Peter Lee
We describe a new compiler for Standard ML called TIL, that is based on four technologies: intensional polymorphism, tag-free garbage collection, conventional functional language optimization, and...
Design and Implementation of Code Optimizations for a Type-Directed Compiler for Standard ML (1996)
Abstract The trends in software development are towards larger programs, more complex programs, and more use of programs as "component software. " These trends mean that the...
Memory-System Performance of Programs with Intensive Heap Allocation (1995)
Amer Diwan, David Tarditi, Eliot Moss
this paper appeared in the 21st Annual Symposium on Principles of Programming Languages.
TIL: A Type-Directed Optimizing Compiler for ML (1995)
David Tarditi, Greg Morrisett, Perry Cheng, Chris Stone, Robert Harper, Peter Lee
We describe a new compiler for Standard ML called TIL, that is based on four technologies: intensional polymorphism, tag-free garbage collection, conventional functional language optimization, and...
Memory-System Performance of Programs with Intensive Heap Allocation (1995)
Amer Diwan, David Tarditi, Eliot Moss
Heap allocation with copying garbage collection is a general storagemanagement technique for programming languages. It is believed to have poor memorysystem performance. To investigate this, we...
TIL: A Type-Directed, Optimizing Compiler for ML (1995)
David Tarditi, Greg Morrisett, Perry Cheng, Chris Stone, Robert Harper, Peter Lee
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...
Memory System Performance of Programs with Intensive Heap Allocation (1995)
Amer Diwan, David Tarditi, Eliot Moss
Heap allocation with copying garbage collection 1s a general storage management technique for programming languages. It is believed to have poor memory system performance, To investigate this, we...
Memory subsystem performance of programs using copying garbage collection (1994)
Amer Diwan, David Tarditi, Eliot Moss
Heap allocation with copying garbage collection is believed to have poor memory subsystem performance. We conducted a study of the memory subsystem performance of heap allocation for memory...
Memory Subsystem Performance of Programs Using Copying Garbage Collection (1994)
Amer Diwan, David Tarditi, Eliot Moss
Heap allocation with copying garbage collection is believed to have poor memory subsystem performance. We conducted a study of the memory subsystem performance of heap allocation for memory...
Measuring the Cost of Storage Management (1994)
We study the cost of storage management for garbage-collected programs compiled with the Standard ML of New Jersey compiler. We show that the cost of storage management is not the same as the time...
Measuring the Cost of Storage Management (1994)
We study the cost of storage management for garbage-collected programs compiled with the Standard ML of New Jersey compiler. We show that the cost of storage management is not the same as the time...
Measuring the Cost of Storage Management (1994)
We study the cost of storage management for garbagecollected programs compiled with the Standard ML of New Jersey compiler. We show that the cost of storage management is not the same as the time...
ML-Yacc User's Manual Version 2.2 (1994)
Contents 1 Introduction 3 1.1 General : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 1.2 Modules : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4 1.3 Error...
Memory Subsystem Performance of Programs Using Copying Garbage Collection (1994)
Amer Diwan, David Tarditi, Eliot Moss
Heap allocation with copying garbage collection is believed to have poor memory subsystem performance. We conducted a study of the memory subsystem performance of heap allocation for memory...
Memory subsystem performance of programs with intensive heap allocation (1993)
Amer Diwan, David Tarditi, Eliot Moss
the United States Government, or AT&T.
Call-by-need and Continuation-passing Style (1993)
Chris Okasaki, Peter Lee, David Tarditi
. This paper examines the transformation of call-by-need terms into continuation -passing style (CPS). It begins by presenting a simple transformation of call-by-need terms into program graphs and a...
Memory Subsystem Performance of Programs with Intensive Heap Allocation (1993)
Amer Diwan, David Tarditi, Eliot Moss
Heap allocation with copying garbage collection is a general storage management technique for modern programming languages. It is believed to have poor memory subsystem performance. To investigate...
The Full Cost of a Generational Copying Garbage Collection Implementation (1993)
this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the Defense Advanced Research Projects Agency or the United...
No Assembly Required: Compiling Standard ML to C (1990)
David Tarditi, Peter Lee, Anurag Acharya
C has been used as a portable target language for implementing languages like Standard ML and Scheme. Previous efforts at compiling these languages to C have produced efficient code, but also...
Call-by-need and Continuation-passing Style
Chris Okasaki, Peter Lee, David Tarditi
. This paper examines the transformation of call-by-need terms into continuation -passing style (CPS). It begins by presenting a simple transformation of call-by-need terms into program graphs and a...