ACM Home Page
Please provide us with feedback. Feedback
Design and evaluation of dynamic optimizations for a Java just-in-time compiler
Full text PdfPdf (1.60 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 27 ,  Issue 4  (July 2005) table of contents
Pages: 732 - 785  
Year of Publication: 2005
ISSN:0164-0925
Authors
Toshio Suganuma  IBM Tokyo Research Laboratory, Yamato-shi, Japan
Toshiaki Yasue  IBM Tokyo Research Laboratory, Yamato-shi, Japan
Motohiro Kawahito  IBM Tokyo Research Laboratory, Yamato-shi, Japan
Hideaki Komatsu  IBM Tokyo Research Laboratory, Yamato-shi, Japan
Toshio Nakatani  IBM Tokyo Research Laboratory, Yamato-shi, Japan
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 20,   Downloads (12 Months): 199,   Citation Count: 8
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1075382.1075386
What is a DOI?

ABSTRACT

The high performance implementation of Java Virtual Machines (JVM) and Just-In-Time (JIT) compilers is directed toward employing a dynamic compilation system on the basis of online runtime profile information. The trade-off between the compilation overhead and performance benefit is a crucial issue for such a system. This article describes the design and implementation of a dynamic optimization framework in a production-level Java JIT compiler, together with two techniques for profile-directed optimizations: method inlining and code specialization. Our approach is to employ a mixed mode interpreter and a three-level optimizing compiler, supporting level-1 to level-3 optimizations, each of which has a different set of trade-offs between compilation overhead and execution speed. A lightweight sampling profiler operates continuously during the entire period while applications are running to monitor the programs' hot spots. Detailed information on runtime behavior can be collected by dynamically generating instrumentation code that is installed to and uninstalled from the specified recompilation target code. Value profiling with this instrumentation mechanism allows fully automatic profile-directed method inlining and code specialization to be performed on the basis of call site information or specific parameter values at the higher optimization levels. The experimental results show that our approach offers high performance and low compilation overhead in both program startup and steady state measurements in comparison to the previous systems. The two profile-directed optimization techniques contribute significant portions of the improvements.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
4
5
6
7
8
9
 
10
11
12
 
13
14
 
15
 
16
Calder, B., Feller, P., and Eustace, A. 1999. Value profiling and optimization. J. Instruction-Level Parallelism 1, 1-6 (March).
17
 
18
19
20
21
22
 
23
Dean, J., Chambers, C., and Grove, D. 1994. Identifying profitable specialization in object-oriented languages. In Proceedings of the ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation. ACM Press, New York, 85--96.
24
 
25
 
26
 
27
28
29
 
30
 
31
Hõlzle, U. 1994. Adaptive optimization for SELF: Reconciling high performance with exploratory programming. Ph.D. thesis, (CS-TR-94-1520) Stanford University, Stanford.
32
 
33
IBM Corporation. 2002. WebSphere Studio Application Developer. Available at http://www.ibm. com/software/ad/adstudio/.
34
35
 
36
Just System Corporation. 1998. IchitaroArk for Java, Japanese word processor system. Available at http://www.justsystem.com/ark/index.html.
 
37
Kaser, O. and Ramakrishman, C. 1998. Evaluating inlining techniques. Comput. Lang. 24, 2 (July), 55--72.
38
 
39
40
 
41
42
43
44
 
45
46
 
47
Paleczny, M., Vick, C., and Click, C. 2001. The Java HotSpot server compiler. In Proceedings of the 1st Java Virtual Machine Research and Technology Symposium (JVM '01). USENIX Association, Berkley, 1--12.
48
49
50
 
51
 
52
Standard Performance Evaluation Corporation. 2000. SPECjvm98 and SPECjbb2000 benchmarks. Available at http://www.spec.org/osg.
 
53
54
 
55
56
 
57
Traub, O., Schechter, S., and Smith, M. D. 2000. Ephemeral instrumentation for lightweight program profiling. Tech. rep., Division of Applied Science and Engineering, Harvard University. June.
 
58
59
60
 
61

CITED BY  8

Collaborative Colleagues:
Toshio Suganuma: colleagues
Toshiaki Yasue: colleagues
Motohiro Kawahito: colleagues
Hideaki Komatsu: colleagues
Toshio Nakatani: colleagues