Abstract
We describe a novel approach to performing data dependence analysis for Java in the presence of Java’s “non-traditional” language features such as exceptions, synchronization, and memory consistency. We introduce new classes of edges in a dependence graph to model code motion constraints arising from these language features. We present a linear-time algorithm for constructing this augmented dependence graph for an extended basic block.
On sabbatical from the Dept. of Computer Science and Engineering, University of Washington, Box 352350, Seattle, WA 98195-2350, USA; chambers@cs.washington.edu.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
B. Alpern, A. Cocchi, D. Lieber, M. Mergen, and V. Sarkar. Jalapeño —a Compiler-Supported Java Virtual Machine for Servers. In ACM SIGPLAN 1999 Workshop on Compiler Support for System Software (WCSSS’99), May 1999. Also available as INRIA report No. 0228, March 1999.
K. Arnold and J. Gosling. The Java Programming Language. Addison-Wesley, 1996.
M. G. Burke, J.-D. Choi, S. Fink, D. Grove, M. Hind, V. Sarkar, M. J. Serrano, V. C. Sreedhar, H. Srinivasan, and J. Whaley. The Jalapeño Dynamic Optimizing Compiler for Java. In ACM Java Grande Conference, June 1999.
J.-D. Choi, D. Grove, M. Hind, and V. Sarkar. Efficient and precise modeling of exceptions for the analysis of Java programs. In Proc. of the ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, Toulouse, France, Sept. 1999.
R. Cytron and J. Ferrante. What’s in a Name? Or the Value of Renaming for Parallelism Detection and Storage Allocation. Proceedings of the 1987 International Conference on Parallel Processing, pages 19–27, August 1987.
R. Cytron, J. Ferrante, B. K. Rosen, M. N. Wegman, and F. K. Zadeck. Efficiently Computing Static Single Assignment Form and the Control Dependence Graph. ACM Transactions on Programming Languages and Systems, 13(4):451–490, October 1991.
J. Dean, G. DeFouw, D. Grove, V. Litvinov, and C. Chambers. Vortex: An optimizing compiler for object-oriented languages. In ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA), San Jose, CA, Oct. 1996.
A. Diwan, K. S. McKinley, and J. E. B. Moss. Type-based alias analysis. In SIGPLAN’ 98 Conference on Programming Language Design and Implementation, pages 106–117, May 1998.
G. R. Gao and V. Sarkar. Location Consistency: Stepping Beyond the Memory Coherence Barrier. International Conference on Parallel Processing, August 1995.
G. R. Gao and V. Sarkar. On the Importance of an End-To-End View of Memory Consistency in Future Computer Systems. Proceedings of the 1997 International Symposium on High Performance Computing, Fukuoka, Japan, November 1997.
S. S. Muchnick. Advanced Compiler Design & Implementation. Morgan Kaufmann Publishers, Inc., San Francisco, California, 1997.
W. Pugh. A new memory model for Java. Note sent to the JavaMemoryModel mailing list, http://www.cs.umd.edu/pugh/java/memoryModel, October 22, 1999.
W. Pugh. Fixing the Java Memory Model. In ACM Java Grande Conference, June 1999.
B. Steensgaard. Points-to analysis in almost linear time. In 23rd Annual ACM SIGACT-SIGPLAN Symposium on the Principles of Programming Languages, pages 32–41, Jan. 1996.
M. J. Wolfe. Optimizing Supercompilers for Supercomputers. Pitman, London and The MIT Press, Cambridge, Massachusetts, 1989. In the series, Research Monographs in Parallel and Distributed Computing.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chambers, C., Pechtchanski, I., Sarkar, V., Serrano, M.J., Srinivasan, H. (2000). Dependence Analysis for Java. In: Carter, L., Ferrante, J. (eds) Languages and Compilers for Parallel Computing. LCPC 1999. Lecture Notes in Computer Science, vol 1863. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44905-1_3
Download citation
DOI: https://doi.org/10.1007/3-540-44905-1_3
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67858-8
Online ISBN: 978-3-540-44905-8
eBook Packages: Springer Book Archive