Proceedings of the 2003 ACM SIGPLAN Conference on Language, Compiler, and Tool for Embedded Systems 2003
DOI: 10.1145/780732.780741
|View full text |Cite
|
Sign up to set email alerts
|

Data size optimizations for java programs

Abstract: We present a set of techniques for reducing the memory consumption of object-oriented programs. These techniques include analysis algorithms and optimizations that use the results of these analyses to eliminate fields with constant values, reduce the sizes of fields based on the range of values that can appear in each field, and eliminate fields with common default values or usage patterns. We apply these optimizations both to fields declared by the programmer and to implicit fields in the runtime object heade… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

1
15
0

Year Published

2004
2004
2010
2010

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 32 publications
(16 citation statements)
references
References 29 publications
1
15
0
Order By: Relevance
“…Type analysis and coloring are also implemented in FLEX [AR03], which includes various optimizations for Java programs, and FijiVM, an ahead-of-time compiler for Java which generates C code and uses 0-CFA rather than RTA [PZV09]. However, coloring is only used for interface methods.…”
Section: Embedded Runtime Systemsmentioning
confidence: 99%
“…Type analysis and coloring are also implemented in FLEX [AR03], which includes various optimizations for Java programs, and FijiVM, an ahead-of-time compiler for Java which generates C code and uses 0-CFA rather than RTA [PZV09]. However, coloring is only used for interface methods.…”
Section: Embedded Runtime Systemsmentioning
confidence: 99%
“…The source of nonlinearity is the repeated posting of field members from a super-class to its instantiated subtypes (4), which happens at most once per field per subtype, which in the worst case is quadratic. For simple hierarchies, the algorithm runs in expected linear time.…”
Section: Algorithm Complexitymentioning
confidence: 99%
“…If it is the same value across all object instances, the compiler can inline it as a constant where reads occur. If it is constant by subclass [4], the compiler can move it to the meta-object, and otherwise, the compiler could introduce a constant table stored in ROM that is indexed by the object handle obtained with reference compression.…”
Section: Rom-izationmentioning
confidence: 99%
See 2 more Smart Citations