Dalvik Tracing JIT Optimization -- Redundant Check Elimination and Low-cost Check Implementation

碩士 === 國立臺灣大學 === 資訊工程學研究所 === 101 === This thesis discusses several properties of Dalvik Tracing JIT and explains the reason why does the existing optimization or algorithm can''t eliminate some redundant null pointer check. To solve this problem, this thesis proposed a new algor...

Full description

Bibliographic Details
Main Authors: Tzu-Hsiang Chien, 簡子翔
Other Authors: 廖世偉
Format: Others
Language:en_US
Published: 2013
Online Access:http://ndltd.ncl.edu.tw/handle/66304972956750111424
Description
Summary:碩士 === 國立臺灣大學 === 資訊工程學研究所 === 101 === This thesis discusses several properties of Dalvik Tracing JIT and explains the reason why does the existing optimization or algorithm can''t eliminate some redundant null pointer check. To solve this problem, this thesis proposed a new algorithm based on SSA renaming to eliminate these redundant checks. For the partial redundant checks, we can even take advantage of the Tracing JIT, and speculatively move the checks to the loop header so that we can reduce the number of instructions per iteration. For the non-redundant checks, this thesis utilize the hardware trap and page protection mechanism to reduce the run-time cost of the normal execution of the program. Our experimental results shows that our approach can speed up LinPack by 20.08% and SciMark 2.0 by 2.74%. For the benchmarks that seldom access Java objects or arrays, the overhead of our approach are negligible.