We consider some issues in optimizing persistent programming languages. In partic-ular, we show how to express optimizations of object residency checks in strongly typed persistent languages as “annotations ” on pointer types. These annotations es-sentially extend and refine the type system of the language, and they have at least two significant uses. First, a programmer can use them to express desired residency properties to be enforced by the language implementation (compiler plus run time). Second, we can use them to separate a persistence optimizer, which adds annotations, from the remainder of the compiler, which simply obeys them. This gives rise to a nice separation of concerns in supporting high-performance persistence: the “intelli...
This thesis presents research into the construction of persistent programming systems. Much of the t...
Gradual typing enables migrating untyped code to typed code by supporting programs with partial type...
Persistent programming is concerned with the creation and manipulation of data with arbitrary lifeti...
We consider how a persistent programming language might offer performance competitive with that of n...
We explore the ramifications of object residency assumptions and their impact on residency checking ...
This paper discusses the features of an annotation language that we believe to be essential for opti...
Abstract. Aggressive optimization of programs often relies on analysis and trans-formation that cuts...
AbstractThis paper identifies high-level program properties that can be discovered by static analysi...
Persistent programming languages manage volatile memory as a cache for stable storage, imposing a re...
This paper identifies high-level program properties that can be discovered by static analysis in a c...
In this paper we will classify and evaluate different approaches to optimizing the access to main me...
Object-oriented programming languages provide many software engineering benefits, but these often co...
We introduce an annotated type system for a compiler intermediate language. The type system is desig...
Most research into persistent programming has been directed towards the design and implementation of...
An important problem in the analysis of programs written in object-oriented languages like C++/Java ...
This thesis presents research into the construction of persistent programming systems. Much of the t...
Gradual typing enables migrating untyped code to typed code by supporting programs with partial type...
Persistent programming is concerned with the creation and manipulation of data with arbitrary lifeti...
We consider how a persistent programming language might offer performance competitive with that of n...
We explore the ramifications of object residency assumptions and their impact on residency checking ...
This paper discusses the features of an annotation language that we believe to be essential for opti...
Abstract. Aggressive optimization of programs often relies on analysis and trans-formation that cuts...
AbstractThis paper identifies high-level program properties that can be discovered by static analysi...
Persistent programming languages manage volatile memory as a cache for stable storage, imposing a re...
This paper identifies high-level program properties that can be discovered by static analysis in a c...
In this paper we will classify and evaluate different approaches to optimizing the access to main me...
Object-oriented programming languages provide many software engineering benefits, but these often co...
We introduce an annotated type system for a compiler intermediate language. The type system is desig...
Most research into persistent programming has been directed towards the design and implementation of...
An important problem in the analysis of programs written in object-oriented languages like C++/Java ...
This thesis presents research into the construction of persistent programming systems. Much of the t...
Gradual typing enables migrating untyped code to typed code by supporting programs with partial type...
Persistent programming is concerned with the creation and manipulation of data with arbitrary lifeti...