ACM Home Page
Please provide us with feedback. Feedback
Interprocedural compatibility analysis for static object preallocation
Full text PdfPdf (278 KB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
New Orleans, Louisiana, USA
Pages: 273 - 284  
Year of Publication: 2003
ISBN:1-58113-628-5
Also published in ...
Authors
Ovidiu Gheorghioiu  Massachusetts Institute of Technology, Cambridge, MA
Alexandru Salcianu  Massachusetts Institute of Technology, Cambridge, MA
Martin Rinard  Massachusetts Institute of Technology, Cambridge, MA
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 23,   Citation Count: 6
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/604131.604154
What is a DOI?

ABSTRACT

We present an interprocedural and compositional algorithm for finding pairs of compatible allocation sites, which have the property that no object allocated at one site is live at the same time as any object allocated at the other site. If an allocation site is compatible with itself, it is said to be unitary: at most one object allocated at that site is live at any given point in the, execution of the program. We use the results of the analysis to statically preallocate memory space for the objects allocated at unitary sites, thus simplifying the computation of an upper bound on the amount of memory required to execute the program. We also use the analysis to enable objects allocated at several compatible allocation sites to share the same preallocated memory. Our experimental results show that, for our set of Java benchmark programs, 60% of the allocation sites are unitary and can be statically preallocated. Moreover, allowing compatible unitary allocation sites to share the same preallocated memory leads to a 95% reduction in the amount of memory preallocated for these sites.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
C. Scott Ananian. MIT FLEX compiler infrastructure for Java. http://www.flex-compiler.lcs.mit.edu.
 
4
C. Scott Ananian. Static single information form. Master's thesis, Laboratory for Computer Science, Massachusetts Institute of Technology, September 1999.
 
5
Lars Ole Andersen. Program Analysis and Specialization for the C Programming Language PhD thesis, DIKU, University of Copenhagen, May 1994.
 
6
7
8
 
9
10
 
11
12
13
14
15
 
16
Ovidiu Gheorghioiu. Statically determining memory consumption of real-time Java threads. MEng thesis, Massachusetts Institute of Technology, 2002.
17
18
19
20


Collaborative Colleagues:
Ovidiu Gheorghioiu: colleagues
Alexandru Salcianu: colleagues
Martin Rinard: colleagues