Design, Implementation, and Evaluation of Optimizations in a Just-In-Time Compiler Kazuaki Ishizaki, Motohiro Kawahito, et al



Yüklə 50 Kb.
tarix07.11.2018
ölçüsü50 Kb.
#78943


Design, Implementation, and Evaluation of Optimizations in a Just-In-Time Compiler

  • Kazuaki Ishizaki, Motohiro Kawahito, et al.

  • IBM Tokyo Research Laboratory

  • Presentation By:

  • Allen Chu


Outline

  • Introduction

  • Motivation

  • JIT Optimizations

  • Result

  • Conclusion



Introduction

  • Advantage and Disadvantage of Java

    • Safety (Array-Bound Check)
    • Reusability and Portability
    • But It Is Slow
  • Compiler for Java

    • Compiler (byte code to native code)
    • Just-In-Time Compiler


Motivation

  • Regular Compiler Looses the Portability and Reusability of Code.

  • Goal for JIT Compiler

    • Preserve Safety and Reusability
    • Translation Time of JIT Compiler + Execution Time of Native Code <= Running Time on JVM


JIT Compiler

  • Translation occurs when new method is called.



Exception Check Elimination

  • Null-Pointer Check Eliminated By Data Flow Analysis

  • Array-Bound Check Eliminated By Propagating the Information of Checked Exception in Data Flow Analysis

    • Keep Track of Indices and Range of Checked Indices.


Array-Bound Elimination (Cont.)



CSE

  • Scalar Replacement Of Array Element

  • Consecutive Array Access Using Interior Pointer

  • Instance Variable Elimination

    • Replace “this.variable”


CSE (Cont.)



CSE (Cont.)



Type Inclusion Test



Result - “Compress”



Result - Overall



Conclusion

  • All Optimizations Do Not Improve Execution Speed All the Time

  • Overall Combined Optimizations Do Improve Execution.



Yüklə 50 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə