Hyung-Kyu Choi

Learn More
More than half of the smart phones world-wide are currently employing the Android platform, which employs Java for programming its applications. The Android Java is to be executed by the Dalvik virtual machine (VM), which is quite different from the traditional Java VM such as Oracle's HotSpot VM. That is, Dalvik employs register-based bytecode while(More)
The performance of embedded Java virtual machine can be improved by ahead-of-time compiler (AOTC), which translates bytecode into machine code in the server and installs the machine code on the client device. Although AOTC is more advantageous than just-in-time compiler (JITC) due to its absence of the translation overhead, AOTC cannot be applicable to(More)
Memory allocation is an important part of modern programming languages, including garbagecollected languages such as Java. We propose a fast memory allocation scheme for Java using lazy worst fit (LWF), where pointer increment is used as the primary allocation method and worst fit is used as a backup. We evaluated LWF on a working Java virtual machine with(More)
Embedded systems often require small code size due to their tight memory constraints. Although the reduced encoding architectures such as the ARM THUMB or the MIPS-16 can successfully reduce the code size due to its half-sized instructions, they suffer from higher spills due to their shortened register fields which constrain available registers, thus(More)
Many embedded Java platforms execute two types of Java classes: those installed statically on the client device and those downloaded dynamically from service providers at run time. For achieving higher performance, the static Java classes can be compiled into machine code by ahead-of-time compiler (AOTC) in the server, and the translated machine code can be(More)
  • 1