ACM Home Page
Please provide us with feedback. Feedback
Stack allocation and synchronization optimizations for Java using escape analysis
Full text PdfPdf (633 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 25 ,  Issue 6  (November 2003) table of contents
Pages: 876 - 910  
Year of Publication: 2003
ISSN:0164-0925
Authors
Jong-Deok Choi  IBM, Yorktown, NY
Manish Gupta  IBM, Yorktown, NY
Mauricio J. Serrano  IBM, Yorktown, NY
Vugranam C. Sreedhar  IBM, Yorktown, NY
Samuel P. Midkiff  Purdue University, West Lafayette, IN
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 12,   Downloads (12 Months): 105,   Citation Count: 16
Additional Information:

abstract   references   cited by   index terms   review   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/945885.945892
What is a DOI?

ABSTRACT

This article presents an escape analysis framework for Java to determine (1) if an object is not reachable after its method of creation returns, allowing the object to be allocated on the stack, and (2) if an object is reachable only from a single thread during its lifetime, allowing unnecessary synchronization operations on that object to be removed. We introduce a new program abstraction for escape analysis, the connection graph, that is used to establish reachability relationships between objects and object references. We show that the connection graph can be succinctly summarized for each method such that the same summary information may be used in different calling contexts without introducing imprecision into the analysis. We present an interprocedural algorithm that uses the above property to efficiently compute the connection graph and identify the nonescaping objects for methods and threads. The experimental results, from a prototype implementation of our framework in the IBM High Performance Compiler for Java, are very promising. The percentage of objects that may be allocated on the stack exceeds 70% of all dynamically created objects in the user code in three out of the ten benchmarks (with a median of 19%); 11% to 92% of all mutex lock operations are eliminated in those 10 programs (with a median of 51%), and the overall execution time reduction ranges from 2% to 23% (with a median of 7%) on a 333-MHz PowerPC workstation with 512 MB memory.


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
4
5
6
 
7
 
8
9
10
11
12
13
 
14
Choi, J.-D., Gupta, M., Serrano, M. J., Sreedhar, V. C., and Midkiff, S. 2002. Stack allocation and synchronization optimizations for Java using escape analysis. Res. rep. RC22340. IBM T. J. Watson Research Center, Yorktown Heights, NY.
15
16
17
18
19
20
 
21
 
22
23
 
24
 
25
 
26
 
27
 
28
IBM Corporation 1997. IBM High Performance Compiler for Java. Available online for download at http://www.alphaWorks.ibm.com/formula.
 
29
JavaMemoryModel 2002. Java memory model mailing list. Archived at http://www.cs.umd.edu/pugh/java/memoryModel/archive/.
30
31
32
 
33
Li, Z. and Abu-Sufah, W. 1987. On reducing data synchronization in multiprocessed loops. IEEE Trans. Comput. C-36, 1 (Jan.), 105--109.
34
35
 
36
 
37
 
38
Oliver, M., Deciulescu, E., and Clark, C. 2000. Java positioning paper. Available online at http://www-1.ibm.com/servers/eserver/zseries/software/java/position.html.
39
40
 
41
Reid, A., McCorquodale, J., Baker, J., Hsieh, W., and Zachary, J. 1999. The need for predictable garbage collection. In Proceedings of the WCSSS'99 Workshop on Compiler Support for System Software.
42
43
44
45
46
47
48
49

CITED BY  16


REVIEW

"Hans J. Schneider : Reviewer"

The authors of this paper tackle two questions related to optimizing Java programs. First, they identify objects that are local to a method and can be allocated on the stack, reducing the time needed for garbage collection. Then, they identify obj  more...

Collaborative Colleagues:
Jong-Deok Choi: colleagues
Manish Gupta: colleagues
Mauricio J. Serrano: colleagues
Vugranam C. Sreedhar: colleagues
Samuel P. Midkiff: colleagues