Eliminating exception constraints of Java']Java programs for IA-64

被引:2
|
作者
Ishizaki, K [1 ]
Inagaki, T [1 ]
Komatsu, H [1 ]
Nakatani, T [1 ]
机构
[1] IBM Res Corp, Tokyo Res Lab, Tokyo, Japan
关键词
D O I
10.1109/PACT.2002.1106025
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Java exception checks are designed to ensure that any faulting instruction causing a hardware exception does not terminate the program abnormally. These checks, however, impose some constraints upon the execution order between all instruction potentially, raising a Java exception and a faulting instruction causing a hardware exception. This reduces the effectiveness of instruction reordering optimization. We propose a new framework to effectively perforin speculation for the Java language using a direct acyclic graph representation based on the SSA form. Using this framework, we apply a well-known speculation technique to a faulting load instruction to eliminate such constraints. We use edges to represent exception constraints. This allows us to accurately, estimate the potential reduction of the critical path length for applying speculation. we also propose an approach to avoid extra copy instructions and to generate efficient code with minimum register pressure. We have implemented the technique in the IBM Java Just-In-Titne compiler, and observed performance improvements up to 25% for micro-benchmark programs, up to 10% for Java Grande Benchmark Suite, and up to 12% for SPECjvm98 on an Itanium processor.
引用
收藏
页码:259 / 268
页数:10
相关论文
共 50 条
  • [1] M-P ports Java']Java to IA-64
    不详
    [J]. CONTROL AND INSTRUMENTATION, 1998, 30 (05): : 27 - 27
  • [2] Integrated prepass scheduling for a Java']Java just-in-time compiler on the IA-64 architecture
    Inagaki, T
    Komatsu, H
    Nakatani, T
    [J]. CGO 2003: INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, 2003, : 159 - 168
  • [3] C++ exception handling for IA-64
    de Dinechin, C
    [J]. USENIX ASSOCIATION PROCEEDINGS OF THE FIRST WORKSHOP ON INDUSTRIAL EXPERIENCES WITH SYSTEMS SOFTWARE (WIESS 2000), 2000, : 67 - 75
  • [4] Analyzing exception flow in Java']Java™ programs
    Robillard, MP
    Murphy, GC
    [J]. SOFTWARE ENGINEERING - ESEC/FSE '99, PROCEEDINGS, 1999, 1687 : 322 - 337
  • [5] Exception analysis for multithreaded Java']Java programs
    Ryu, SY
    Yi, KK
    [J]. SECOND ASIA-PACIFIC CONFERENCE ON QUALITY SOFTWARE, PROCEEDINGS, 2001, : 23 - 30
  • [6] An exploratory study on exception handling bugs in Java']Java programs
    Ebert, Felipe
    Castor, Fernando
    Serebrenik, Alexander
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2015, 106 : 82 - 101
  • [7] A Reflection on "An Exploratory Study on Exception Handling Bugs in Java']Java Programs"
    Ebert, Felipe
    Castor, Fernando
    Serebrenikt, Alexander
    [J]. PROCEEDINGS OF THE 2020 IEEE 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER '20), 2020, : 552 - 556
  • [8] Runtime Exception Detection in Java']Java Programs Using Symbolic Execution
    Kadar, Istvan
    Hegedus, Peter
    Ferene, Rudolf
    [J]. ACTA CYBERNETICA, 2014, 21 (03): : 331 - 352
  • [9] Inside IA-64
    Halfhill, TR
    [J]. BYTE, 1998, 23 (06): : 81 - +
  • [10] Static analyses for eliminating unnecessary synchronization from Java']Java programs
    Aldrich, J
    Chambers, C
    Sirer, EG
    Eggers, S
    [J]. STATIC ANALYSIS, 1999, 1694 : 19 - 38