Allocating objects on the stack rather than the heap reduces the overhead of garbage collection and permits further optimizations. This paper presents a simple and fast algorithm for stack allocating a significant fraction of objects for Java programs. Our implementation in an optimizing batch Java compiler demonstrates the benefit of stack allocation by achieving speed improvements of up to 11 % for medium-size programs.
Dynamic memory management is a known performance bottleneck of Java applications. The problem arises...
Optimizing compilers use heuristics to control different aspects of compilation and to construct app...
This paper explores and quantifies garbage collection behavior for three whole heap collectors and g...
Stack allocation of objects offers more efficient use of cache memories on modern computers, but fin...
We study the behavior of Java objects in order to explore potential garbage collection optimization ...
Abstract. We present a set of techniques for reducing the memory consumption of object-oriented prog...
Object combining tries to put objects together that have roughly the same life times in order to red...
We present a set of techniques for reducing the memory consumption of object-oriented programs. Thes...
We suggest an escaping analysis for Java programs, to identify stack-allocatable objects. This analy...
Abstract. The possible applications of Java range from small applets to large, data-intensive scient...
Most Java programmers would agree that Java is a language that promotes a philosophy of “create and ...
The growing gap between processor and memory speeds is motivating the need for optimization strategi...
Optimizing Java byte code is complicated by the fact that it uses a stack-based execution model. Ch...
[[abstract]]We are interested in the issues on the bytecode transformation for performance improveme...
While a conventional program uses exactly as much memory as it needs, the memory use of a garbage-co...
Dynamic memory management is a known performance bottleneck of Java applications. The problem arises...
Optimizing compilers use heuristics to control different aspects of compilation and to construct app...
This paper explores and quantifies garbage collection behavior for three whole heap collectors and g...
Stack allocation of objects offers more efficient use of cache memories on modern computers, but fin...
We study the behavior of Java objects in order to explore potential garbage collection optimization ...
Abstract. We present a set of techniques for reducing the memory consumption of object-oriented prog...
Object combining tries to put objects together that have roughly the same life times in order to red...
We present a set of techniques for reducing the memory consumption of object-oriented programs. Thes...
We suggest an escaping analysis for Java programs, to identify stack-allocatable objects. This analy...
Abstract. The possible applications of Java range from small applets to large, data-intensive scient...
Most Java programmers would agree that Java is a language that promotes a philosophy of “create and ...
The growing gap between processor and memory speeds is motivating the need for optimization strategi...
Optimizing Java byte code is complicated by the fact that it uses a stack-based execution model. Ch...
[[abstract]]We are interested in the issues on the bytecode transformation for performance improveme...
While a conventional program uses exactly as much memory as it needs, the memory use of a garbage-co...
Dynamic memory management is a known performance bottleneck of Java applications. The problem arises...
Optimizing compilers use heuristics to control different aspects of compilation and to construct app...
This paper explores and quantifies garbage collection behavior for three whole heap collectors and g...