2003
DOI: 10.1145/780731.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...
2
1
1
1

Citation Types

0
12
0

Year Published

2004
2004
2010
2010

Publication Types

Select...
4
4

Relationship

1
7

Authors

Journals

citations
Cited by 10 publications
(12 citation statements)
references
References 21 publications
0
12
0
Order By: Relevance
“…In contrast, in our work locality is irrelevant: the MCUs that we target have flat RAM with a uniform access time. Ananian and Rinard [2003] perform static bitwidth analysis and field packing for Java objects, with the goal of reducing memory usage. Zhang and Gupta [2006] use memory profile data to find limited-bitwidth heap data that can be packed into less space.…”
Section: Related Workmentioning
confidence: 99%
“…In contrast, in our work locality is irrelevant: the MCUs that we target have flat RAM with a uniform access time. Ananian and Rinard [2003] perform static bitwidth analysis and field packing for Java objects, with the goal of reducing memory usage. Zhang and Gupta [2006] use memory profile data to find limited-bitwidth heap data that can be packed into less space.…”
Section: Related Workmentioning
confidence: 99%
“…For example, Ananian and Rinard [2] use static analysis of Java programs to eliminate fields with constant values and reduce the sizes of fields that can assume a small number of values. Cooprider and Regehr [7] use static analysis of C programs to pack scalars, pointers, structures, and arrays using a compression-table scheme.…”
Section: Related Workmentioning
confidence: 99%
“…This is of importance for embedded real-time systems because it can reduce the amount of memory required to execute the program and therefore reduce the cost of the embedded real-time system. See [19] for more information.…”
Section: Data Size Reductionsmentioning
confidence: 99%
“…Moreover, Flex has been shown to be useful for processing and analyzing components in the context of the BBN OEP. Flex also served as the platform for much of the research performed as part of this contract, see, for example [31,20].…”
Section: Flex and Componentsmentioning
confidence: 99%