|
ABSTRACT
Stack allocation of objects offers more efficient use of cache memories on modern computers, but finding objects that can be safely stack allocated is difficult, as interprocedural escape analysis is imprecise in the presence of virtual method dispatch and dynamic class loading. We present a new technique for doing optimistic stack allocation of objects. Our technique does not require interprocedural analysis and is effective in the presence of dynamic class loading, reflection and exception handling. Moreover, we usually achieve higher proportions of stack allocated data than static strategies. In this paper we present optimistic stack-allocation for Java-like languages. For experiments we use traces of running Java programs to drive simulations of various garbage collection and allocation strategies.
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
|
Andrew W. Appel and Zhong Shao. An empirical and analytic study of stack vs. heap cost for languages with closures. Technical Report CS-TR-450-94, 1994. Available from: http://citeseer.nj.nec.com/appel94empirical.html.
|
 |
2
|
|
 |
3
|
|
 |
4
|
|
| |
5
|
Yannis Bres, Bernard P. Serpette, and Manuel Serrano. Bigloo.NET: compiling Scheme to .NET CLR. Journal of Object Technology, 3(9):71--94, 2004. Available from: http://www.jot.fm/issues/issue_2004_10/article4.
|
 |
6
|
Lars Birkedal , Mads Tofte , Magnus Vejlstrup, From region inference to von Neumann machines via region representation inference, Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.171-183, January 21-24, 1996, St. Petersburg Beach, Florida, United States
[doi> 10.1145/237721.237771]
|
| |
7
|
Vidal Burgoa. Implementation of CPU resource accounting for Java (M.Sc, U. of Geneva). ftp://cui.unige.ch/pub/tios/papers/Diploma-Vidal.pdf, 2001.
|
 |
8
|
Jong-Deok Choi , Manish Gupta , Mauricio Serrano , Vugranam C. Sreedhar , Sam Midkiff, Escape analysis for Java, Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.1-19, November 01-05, 1999, Denver, Colorado, United States
|
 |
9
|
Perry Cheng , Robert Harper , Peter Lee, Generational stack collection and profile-driven pretenuring, Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, p.162-173, June 17-19, 1998, Montreal, Quebec, Canada
|
| |
10
|
Erik Corry. Stack allocation for object-oriented languages (M.Sc. thesis, Department of Computer Science - Daimi, University of Aarhus). http://www.daimi.au.dk/corry/corrythesis.pdf, 2004.
|
 |
11
|
|
| |
12
|
|
| |
13
|
Martin Elsman. Program Modules, Separate Compilation,and Intermodule Optimisation. PhD thesis, Departmentof Computer Science, University of Copenhagen, January 1999. Available from: http://www.it.edu/people/mael/mypapers/phd.ps.gz.
|
| |
14
|
|
| |
15
|
|
 |
16
|
|
| |
17
|
Intel. The IA-32 Intel architecture software developer's manual, volume 3: System programming guide. Available from: http://www.intel.com/design/pentium4/manuals/253668.htm.
|
| |
18
|
Intel. Intel XScale microarchitecture for the PXA250 and PXA210 applications processors. Available from: http://developer.intel.com/design/pca/prodbref/pxa250.pdf.
|
| |
19
|
Intel. IA-32 Intel architecture optimization reference manual, 2000. Available from: http://www.intel.com/design/pentium4/manuals/248966.htm.
|
| |
20
|
H. Prokop. Cache-Oblivious Algorithms, June 1999. Master's thesis, MIT Department of Electrical Engineering and Computer Science. Available from: http://citeseer.ist.psu.edu/prokop99cacheobliviou.html.
|
 |
21
|
|
 |
22
|
|
| |
23
|
Alastair Reid, John McCorquodale, Jason Baker, Wilson Hsieh, and Joseph Zachary. The need for predictable garbage collection. In Proceedings of the ACM SIGPLAN Workshop on Compiler Support for System Software (WCSSS'99), May 1999. Available from: http://www.cs.utah.edu/flux/papers/gc-wcsss99.ps.gz.
|
 |
24
|
|
| |
25
|
|
| |
26
|
|
| |
27
|
R. L. While and A. J. Field. The Non-stop Spineless Tagless G-machine. Available from: http://citeseer.nj.nec.com/while96nonstop.html.
|
| |
28
|
Benjamin Zorn. Barrier methods for garbage collection. Technical Report CU-CS-494-90, 1990. Available from: http://citeseer.nj.nec.com/zorn90barrier.html.
|
|