Kazuaki Ishizaki, Motohiro Kawahito, et al.
Concurrency Practice and Experience
Computer designs are shifting from 32-bit architectures to 64-bit architectures, while most of the programs available today are still designed for 32-bit architectures. Java, for example, specifies the frequently used "int" as a 32-bit signed integer. If such Java programs are executed on a 64-bit architecture, many 32-bit signed integers must be sign-extended to 64-bit signed integers for correct operations. This causes serious performance overhead. In this article, we present a fast and effective algorithm for eliminating sign extensions. We implemented this algorithm in the IBM Java Just-in-Time (JIT) compiler for IA-64. Our experimental results show that our algorithm effectively eliminates the majority of sign extensions. They also show that it improves performance by 6.9% for jBYTEmark and 3.3% for SPECjvm98 over the previously known best algorithm, while it increases JIT compilation time by only 0.11%. © 2006 ACM.
Kazuaki Ishizaki, Motohiro Kawahito, et al.
Concurrency Practice and Experience
Toshiaki Yasue, Toshio Suganuma, et al.
Journal of Instruction-Level Parallelism
Toshio Suganuma, Akira Koseki, et al.
SYSTOR 2011
Kazunori Ogata, Hideaki Komatsu, et al.
ASPLOS 2002