Treffer: Dynamic optimistic interprocedural analysis: a framework and an application

Title:
Dynamic optimistic interprocedural analysis: a framework and an application
Source:
Proceedings of the 2001 ACM SIGPLAN conference on object-oriented programming, systems, languages & applications (OOPSLA'01)ACM SIGPLAN notices. 36(11):195-210
Publisher Information:
Broadway, NY: ACM, 2001.
Publication Year:
2001
Physical Description:
print, 29 ref
Original Material:
INIST-CNRS
Document Type:
Konferenz Conference Paper
File Description:
text
Language:
English
Author Affiliations:
Department of Computer Science, New York University, United States
IBM Research, T. J. Watson Research Center, United States
ISSN:
1523-2867
Rights:
Copyright 2002 INIST-CNRS
CC BY 4.0
Sauf mention contraire ci-dessus, le contenu de cette notice bibliographique peut être utilisé dans le cadre d’une licence CC BY 4.0 Inist-CNRS / Unless otherwise stated above, the content of this bibliographic record may be used under a CC BY 4.0 licence by Inist-CNRS / A menos que se haya señalado antes, el contenido de este registro bibliográfico puede ser utilizado al amparo de una licencia CC BY 4.0 Inist-CNRS
Notes:
Computer science; theoretical automation; systems
Accession Number:
edscal.13556388
Database:
PASCAL Archive

Weitere Informationen

In this paper, we address the problem of dynamic optimistic interprocedural analysis. Our goal is to build on past work on static interprocedural analysis and dynamic optimization by combining their advantages. We present a framework for performing dynamic optimistic interprocedural analysis. The framework is designed to be used in the context of dynamic class loading and dynamic compilation, and includes mechanisms for event notification (on class loading and method compilation) and dependence tracking (to enable invalidation of optimistic assumptions). We illustrate the functionality of the framework by using it to implement a dynamic optimistic interprocedural type (DOIT) analysis algorithm, The DOIT algorithm uses a new global data structure called the Value Graph. The framework and DOIT analysis are implemented as part of the IBM Jalapeño Java Virtual Machine. Our experimental results for the SPECjvm benchmarks and two larger programs show promising benefits due to dynamic optimistic analysis. Compared to pessimistic analysis, the reduction in the number of methods and fields analyzed was in the 2.7x-4.6x and 1.6×-2.4× ranges respectively. The average fraction of polymorphic virtual calls decreased from 39.5% to 24.4% due to optimistic analysis, with a best-case decrease from 47.0% to 8.1%. The average fraction of polymorphic interface calls decreased from 96.4% to 36.2% due to optimistic analysis, with a best-case decrease from 100.0% to 0.0%. These benefits were obtained with a low dynamic analysis overhead in the range of 570-930 bytecode bytes/millisecond (about 2.5x-5.4x faster than the Jalapeño baseline compiler).