Object combining tries to put objects together that have roughly the same life times in order to reduce strain on the memory manager and to reduce the number of pointer indirections during a program's execution. Object combining works by appending the fields of one object to another, allowing allocation and freeing of multiple objects with a single heap (de)allocation. Unlike object inlining, which will only optimize objects where one has a (unique) pointer to another, our optimization also works if there is no such relation. Object inlining also directly replaces the pointer by the inlined object's fields. Object combining leaves the pointer in place to allow more combining. Elimination of the pointer accesses is implemented in a separate ...
This paper presents a strategy, called almost-whole-program compilation, for extending the benefits ...
Abstract. While many object-oriented languages impose space overhead of only one word per object to ...
We present a technique to increase data cache utilization of pointer-based programs. These caches ar...
Object combining tries to put objects together that have roughly the same life times in order to red...
Allocating objects on the stack rather than the heap reduces the overhead of garbage collection and ...
Object-oriented languages, like Java, encourage the use of many small objects linked together by eld...
Abstract. We present a set of techniques for reducing the memory consumption of object-oriented prog...
We present a set of techniques for reducing the memory consumption of object-oriented programs. Thes...
Automatic object inlining [19, 20] transforms heap data structures by fusing parent and child object...
Object-oriented languages such as Java and Smalltalk provide a uniform object reference model, allow...
Object-oriented programs organize data in objects linked together with pointers. While this enhances...
High level programming language features have long been seen as improving programmer efficiency at s...
Computer applications are increasingly being written in object-oriented languages like Java and C++ ...
The growing gap between processor and memory speeds is motivating the need for optimization strategi...
We study the behavior of Java objects in order to explore potential garbage collection optimization ...
This paper presents a strategy, called almost-whole-program compilation, for extending the benefits ...
Abstract. While many object-oriented languages impose space overhead of only one word per object to ...
We present a technique to increase data cache utilization of pointer-based programs. These caches ar...
Object combining tries to put objects together that have roughly the same life times in order to red...
Allocating objects on the stack rather than the heap reduces the overhead of garbage collection and ...
Object-oriented languages, like Java, encourage the use of many small objects linked together by eld...
Abstract. We present a set of techniques for reducing the memory consumption of object-oriented prog...
We present a set of techniques for reducing the memory consumption of object-oriented programs. Thes...
Automatic object inlining [19, 20] transforms heap data structures by fusing parent and child object...
Object-oriented languages such as Java and Smalltalk provide a uniform object reference model, allow...
Object-oriented programs organize data in objects linked together with pointers. While this enhances...
High level programming language features have long been seen as improving programmer efficiency at s...
Computer applications are increasingly being written in object-oriented languages like Java and C++ ...
The growing gap between processor and memory speeds is motivating the need for optimization strategi...
We study the behavior of Java objects in order to explore potential garbage collection optimization ...
This paper presents a strategy, called almost-whole-program compilation, for extending the benefits ...
Abstract. While many object-oriented languages impose space overhead of only one word per object to ...
We present a technique to increase data cache utilization of pointer-based programs. These caches ar...