Dependence Analysis for Java

Authors:  Craig Chambers, Igor Pechtchanski, Vivek Sarkar, Mauricio Serrano, Harini Srinivasan

Conference:  1999 Workshop on Languages and Compilers for Parallel Computing, La Jolla, CA, August 4-6, 1999

Abstract:  In this paper, we address the problem of 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 using type-based alias analysis for Java. As motivation for dependence analysis, we discuss two phases of the Jalapeņo dynamic optimizing compiler, instruction selection and instruction scheduling, that use the data dependence graph and benefit from more precise dependence analysis.

Download:  postscript file (208K), PDF file (235K)

BibTeX Entry: 
  Author      = "Craig Chambers and Igor Pechtchanski and Vivek Sarkar and
                Mauricio J. Serrano and Harini Srinivasan",
  Title       = "Dependence Analysis for {J}ava",
  Booktitle   = "12th International Workshop on Languages and Compilers for
                Parallel Computing",
  Pages       = "35--52",
  Year        = 1999,
  Month       = "August",
  Day         = "4--6",
  Location    = "La Jolla, California, USA",
  Publisher   = "Springer-Verlag",
  Series      = "Lecture Notes In Computer Science",
  Volume      = "1863",
  ISBN        = "3-540-67858-1",

Last modified on
Igor Peshansky