A Value Profiler for Assisting Object-Oriented Program Specialization

We present a value profiler for object-oriented programs that counts frequencies parameters to method calls. It is aimed at identifying methods that can be optimized by program spe- cialization techniques. By adding timestamps to objects, the profiler accurately tests equality over mutable objects on a per-method basis. Our experiments with a 64602 lines of Java program showed that the profile report can reduce effort at manually finding the target methods of optimiza- tion, which speeded the overall execution time up more than 10%.

[1]  Renaud Marlet,et al.  Combining Program and Data Specialization , 1999, High. Order Symb. Comput..

[2]  Hidehiko Masuhara,et al.  Run-time bytecode specialization: A portable approach to generating optimized specialized code , 2001 .

[3]  Brad Calder,et al.  Value Profiling and Optimization , 1999, J. Instr. Level Parallelism.

[4]  Saumya K. Debray,et al.  Goal-Directed Value Profiling , 2001, CC.

[5]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[6]  Saumya K. Debray,et al.  Code Specialization Based on Value Profiles , 2000, SAS.

[7]  Brad Calder,et al.  Value profiling , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[8]  Craig Chambers,et al.  Iterative type analysis and extended message splitting; optimizing dynamically-typed object-oriented programs , 1990, PLDI '90.

[9]  Peter Sestoft,et al.  Partial evaluation and automatic program generation , 1993, Prentice Hall international series in computer science.

[10]  Elliot K. Kolodner,et al.  Heap profiling for space-efficient Java , 2001, PLDI '01.

[11]  Markus Mock,et al.  Calpa: a tool for automating selective dynamic compilation , 2000, MICRO 33.

[12]  Erik Ruf,et al.  Data specialization , 1996, PLDI '96.

[13]  Ulrik Pagh Schultz Partial Evaluation for Class-Based Object-Oriented Languages , 2000 .

[14]  David Grove,et al.  Selective specialization for object-oriented languages , 1995, PLDI '95.

[15]  DONALD MICHIE,et al.  “Memo” Functions and Machine Learning , 1968, Nature.

[16]  Markus Mock,et al.  A retrospective on: "an evaluation of staged run-time optimizations in DyC" , 2004, SIGP.

[17]  Charles Consel,et al.  A general approach for run-time specialization and its application to C , 1996, POPL '96.

[18]  Ulrik Pagh Schultz,et al.  Specialization patterns , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.