A Study of Devirtualization Techniques for a Java Just-In-Time Compiler

Copyright © (2000) by Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distrubuted for profit or commericial advantage. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee.

While dynamic method calls are sources of reusability and extensibility in object-oriented languages, they have long been targets of optimizations because they incur runtime overhead and prevent classical compiler optimizations, resulting in many techniques to devirtualize the calls having been proposed. However, these techniques are less effective in Java since either Java is a statically-typed language, or not straightforwardly applicable since Java's capability of loading classes dynamically prevents whole program optimizations. This paper proposes a direct devirtualization technique with a code patching mechanism. This technique has lower overhead than a well-known recompilation approach. We have implemented a number of devirtualization techniques. This paper presents detailed characteristics and effectiveness as applied them to 16 real programs. We show reductions in the number of dynamic method calls ranging from 8.9% to 97.3% (an average of 40.4%). It conducts some interesting observations of program characteristics and potential performance problems. We also report performance improvements from -1% to 122% (an average of 19%).

By: Kazuaki Ishizaki, Motohiro Kawahito, Toshiaki Yasue, Hideaki Komatsu, Toshio Nakatani

Published in: ACM SIGPLAN Notices, volume 35, (no 10), pages 294-310 in 2000

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

rt0352.pdf

;

rt0352cover.pdf

Questions about this service can be mailed to reports@us.ibm.com .