Phases in Branch Targets of Java Programs

Phases in Branch Targets of Java Programs
Related tools & artifacts:
Technical Report: University of Colorado at Boulder, December, 2004

Recent work on phase detection indicates that programs behave differently at different points in their execution. This paper looks at phases in more detail with respect to indirect calls, which are common in object-oriented programs. We divide phases into three categories: code dependent, context dependent, and data dependent. Of these, code-dependent phases are the easiest to exploit and require no special hardware or compiler support. Data-dependent phases, on the other hand, do require significant hardware or compiler support. Fortunately, we find that at least for indirect calls, data-dependent phases are rare for a collection of Java benchmarks.

@techreport{Mytkowicz08, author = {Matthias Hauswirth and Amer Diwan}, title = {Phases in Branch Targets of Java Programs}, institution = {University of Colorado}, number = {CU-CS-983-04}, year = 2008, month = jun }