{"title":"为XScale上的J2ME JVM设计一个高性能的即时编译器","authors":"Xiaohua Shi, Maozhong Jin, B. Cheng, Peng Guo","doi":"10.1109/ICESS.2008.55","DOIUrl":null,"url":null,"abstract":"The just-in-time compilers have been widely adopted in J2SE and J2ME virtual machines. However, it is a big challenge for a JIT compiler to generate high-quality native code under the tight time and memory constraints on embedded systems. This paper presents the framework and key optimizations of a JIT compiler we designed for Intelpsilas J2ME virtual machine, namely XORP, for XScaletrade architecture. We describe the bytecode-based optimizations, e.g. bytecode inlining, Array Bounds Check Elimination, Null Pointer Check Elimination, etc., and some key optimizations aimed at XScaletrade architecture, e.g. instruction scheduling, etc., in the XORP JIT. XORP is more than 15 times faster than the reference implementation of J2ME CLDC, KVM, for EEMBC, with a 350KB executable file, including interpreter, JIT compiler, GC and all other JVM components. Comparing with other high-performance J2ME JVMs, like JeodeK and CLDC-HI, XORP is also at least 69% faster than them.","PeriodicalId":278372,"journal":{"name":"2008 International Conference on Embedded Software and Systems","volume":"13 7 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2008-07-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"Design a High-Performance Just-In-Time Compiler for a J2ME JVM on XScale\",\"authors\":\"Xiaohua Shi, Maozhong Jin, B. Cheng, Peng Guo\",\"doi\":\"10.1109/ICESS.2008.55\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The just-in-time compilers have been widely adopted in J2SE and J2ME virtual machines. However, it is a big challenge for a JIT compiler to generate high-quality native code under the tight time and memory constraints on embedded systems. This paper presents the framework and key optimizations of a JIT compiler we designed for Intelpsilas J2ME virtual machine, namely XORP, for XScaletrade architecture. We describe the bytecode-based optimizations, e.g. bytecode inlining, Array Bounds Check Elimination, Null Pointer Check Elimination, etc., and some key optimizations aimed at XScaletrade architecture, e.g. instruction scheduling, etc., in the XORP JIT. XORP is more than 15 times faster than the reference implementation of J2ME CLDC, KVM, for EEMBC, with a 350KB executable file, including interpreter, JIT compiler, GC and all other JVM components. Comparing with other high-performance J2ME JVMs, like JeodeK and CLDC-HI, XORP is also at least 69% faster than them.\",\"PeriodicalId\":278372,\"journal\":{\"name\":\"2008 International Conference on Embedded Software and Systems\",\"volume\":\"13 7 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2008-07-29\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2008 International Conference on Embedded Software and Systems\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICESS.2008.55\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2008 International Conference on Embedded Software and Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICESS.2008.55","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Design a High-Performance Just-In-Time Compiler for a J2ME JVM on XScale
The just-in-time compilers have been widely adopted in J2SE and J2ME virtual machines. However, it is a big challenge for a JIT compiler to generate high-quality native code under the tight time and memory constraints on embedded systems. This paper presents the framework and key optimizations of a JIT compiler we designed for Intelpsilas J2ME virtual machine, namely XORP, for XScaletrade architecture. We describe the bytecode-based optimizations, e.g. bytecode inlining, Array Bounds Check Elimination, Null Pointer Check Elimination, etc., and some key optimizations aimed at XScaletrade architecture, e.g. instruction scheduling, etc., in the XORP JIT. XORP is more than 15 times faster than the reference implementation of J2ME CLDC, KVM, for EEMBC, with a 350KB executable file, including interpreter, JIT compiler, GC and all other JVM components. Comparing with other high-performance J2ME JVMs, like JeodeK and CLDC-HI, XORP is also at least 69% faster than them.