Dalvik直譯器與即時編譯器之優化與驗證方法

碩士 === 國立清華大學 === 資訊工程學系 === 101 === Dalvik virtual machine is the main process to execute programs for Android. A executable program is compiled into DEX format from JAVA code. In addition, the analysis and execution of bytecode instruction in DEX file are dominated by the interpreter in Dalvik...

Full description

Bibliographic Details
Main Authors: Hsueh, Yu-Chun, 薛宇鈞
Other Authors: Lee, Jenq-Kuen
Format: Others
Language:en_US
Published: 2013
Online Access:http://ndltd.ncl.edu.tw/handle/79857640022381024993
Description
Summary:碩士 === 國立清華大學 === 資訊工程學系 === 101 === Dalvik virtual machine is the main process to execute programs for Android. A executable program is compiled into DEX format from JAVA code. In addition, the analysis and execution of bytecode instruction in DEX file are dominated by the interpreter in Dalvik virtual machine. A portable interpreter written in C is provided in AOSP(Android Open Source Project). Moreover, a fast interpreter written in assembly code is also supported for ARM architecture, i.e. the performance of fast interpreter is much better than the one of portable interpreter. There is also a just-in-time compiler which translates and optimizes the bytecode to intended CPU machine code for ARM architecture, and that bring better performance than the execution of interpreter. In this dissertation, we introduce the fast interpreter and just-in-time compiler support for Andes platform, an indigenous platform in Taiwan. Moreover, a self-verification mode is supported for validating JIT. First, we introduce the knowledge about how the interpreter works, the compilation flow of just-in-time compiler, and the interaction between interpreter and just-in-time compiler. Then, we describe the self-verification flow. Finally, we devise the fast interpreter and just-in-time compiler on Andes AG102 development board and perform experiments to obtain the performance information.