UCLA COMSCI 239 - AnanianRinard03 (10 pages)

Previewing pages 1, 2, 3 of 10 page document View the full content.
View Full Document

AnanianRinard03



Previewing pages 1, 2, 3 of actual document.

View the full content.
View Full Document
View Full Document

AnanianRinard03

59 views


Pages:
10
School:
University of California, Los Angeles
Course:
Comsci 239 - Current Topics in Computer Science: Programming Languages and Systems

Unformatted text preview:

Data Size Optimizations for Java Programs C Scott Ananian Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology Cambridge MA 02139 Laboratory for Computer Science Massachusetts Institute of Technology Cambridge MA 02139 cananian lcs mit edu rinard lcs mit edu ABSTRACT Keywords 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 header Although it is possible to apply these techniques to any object oriented program we expect they will be particularly appropriate for memory limited embedded systems We have implemented these techniques in the MIT FLEX compiler system and applied them to the programs in the SPECjvm98 benchmark suite Our experimental results show that our combined techniques can reduce the maximum live heap size required for the programs in our benchmark suite by as much as 40 Some of the optimizations reduce the overall execution time others may impose modest performance penalties Embedded systems size optimizations static specialization field externalization field packing bitwidth analysis 1 INTRODUCTION We present a set of techniques for reducing the amount of data space required to represent objects in object oriented programs Our techniques optimize the representation of both the programmer defined fields within each object and the header information used by the run time system Field Reduction Our flow sensitive interprocedural bitwidth analysis computes the range of values that the program may assign to each field The compiler then transforms the program to reduce the size



View Full Document

Access the best Study Guides, Lecture Notes and Practice Exams

Loading Unlocking...
Login

Join to view AnanianRinard03 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view AnanianRinard03 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?