java即时编译器中优化的设计、实现和评估

K. Ishizaki, M. Kawahito, T. Yasue, Mikio Takeuchi, T. Ogasawara, T. Suganuma, Tamiya Onodera, H. Komatsu, T. Nakatani
{"title":"java即时编译器中优化的设计、实现和评估","authors":"K. Ishizaki, M. Kawahito, T. Yasue, Mikio Takeuchi, T. Ogasawara, T. Suganuma, Tamiya Onodera, H. Komatsu, T. Nakatani","doi":"10.1002/1096-9128(200005)12:6%3C457::AID-CPE485%3E3.0.CO;2-0","DOIUrl":null,"url":null,"abstract":"The Java language incurs a runtime overhead for exception checks and object accesses, which are executed without an interior pointer in order to ensure safety. It also requires type inclusion test, dynamic class loading, and dynamic method calls in order to ensure flexibility. A ‘Just-In-Time’ (JIT) compiler generates native code from Java byte code at runtime. It must improve the runtime performance without compromising the safety and flexibility of the Java language. We designed and implemented effective optimizations for a JIT compiler, such as exception check elimination, common subexpression elimination, simple type inclusion test, method inlining, and devirtualization of dynamic method call. We evaluate the performance benefits of these optimizations based on various statistics collected using SPECjvm98, its candidates, and two JavaSoft applications with byte code sizes ranging from 23 000 to 280 000 bytes. Each optimization contributes to an improvement in the performance of the programs. Copyright © 2000 John Wiley & Sons, Ltd.","PeriodicalId":199059,"journal":{"name":"Concurr. Pract. Exp.","volume":"108 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2000-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"14","resultStr":"{\"title\":\"Design, implementation, and evaluation of optimizations in a JavaTM Just-In-Time compiler\",\"authors\":\"K. Ishizaki, M. Kawahito, T. Yasue, Mikio Takeuchi, T. Ogasawara, T. Suganuma, Tamiya Onodera, H. Komatsu, T. Nakatani\",\"doi\":\"10.1002/1096-9128(200005)12:6%3C457::AID-CPE485%3E3.0.CO;2-0\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The Java language incurs a runtime overhead for exception checks and object accesses, which are executed without an interior pointer in order to ensure safety. It also requires type inclusion test, dynamic class loading, and dynamic method calls in order to ensure flexibility. A ‘Just-In-Time’ (JIT) compiler generates native code from Java byte code at runtime. It must improve the runtime performance without compromising the safety and flexibility of the Java language. We designed and implemented effective optimizations for a JIT compiler, such as exception check elimination, common subexpression elimination, simple type inclusion test, method inlining, and devirtualization of dynamic method call. We evaluate the performance benefits of these optimizations based on various statistics collected using SPECjvm98, its candidates, and two JavaSoft applications with byte code sizes ranging from 23 000 to 280 000 bytes. Each optimization contributes to an improvement in the performance of the programs. Copyright © 2000 John Wiley & Sons, Ltd.\",\"PeriodicalId\":199059,\"journal\":{\"name\":\"Concurr. Pract. Exp.\",\"volume\":\"108 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2000-05-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"14\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Concurr. Pract. Exp.\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1002/1096-9128(200005)12:6%3C457::AID-CPE485%3E3.0.CO;2-0\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Concurr. Pract. Exp.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1002/1096-9128(200005)12:6%3C457::AID-CPE485%3E3.0.CO;2-0","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 14

摘要

Java语言会导致异常检查和对象访问的运行时开销,为了确保安全,这些操作在没有内部指针的情况下执行。它还需要类型包含测试、动态类加载和动态方法调用,以确保灵活性。“即时”(JIT)编译器在运行时从Java字节码生成本机代码。它必须在不损害Java语言的安全性和灵活性的前提下提高运行时性能。我们为JIT编译器设计并实现了有效的优化,例如异常检查消除、公共子表达式消除、简单类型包含测试、方法内联和动态方法调用的非虚拟化。我们根据使用SPECjvm98、它的候选程序和两个字节码大小从23000到280,000字节的JavaSoft应用程序收集的各种统计数据来评估这些优化的性能优势。每个优化都有助于提高程序的性能。版权所有©2000约翰威利父子有限公司
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Design, implementation, and evaluation of optimizations in a JavaTM Just-In-Time compiler
The Java language incurs a runtime overhead for exception checks and object accesses, which are executed without an interior pointer in order to ensure safety. It also requires type inclusion test, dynamic class loading, and dynamic method calls in order to ensure flexibility. A ‘Just-In-Time’ (JIT) compiler generates native code from Java byte code at runtime. It must improve the runtime performance without compromising the safety and flexibility of the Java language. We designed and implemented effective optimizations for a JIT compiler, such as exception check elimination, common subexpression elimination, simple type inclusion test, method inlining, and devirtualization of dynamic method call. We evaluate the performance benefits of these optimizations based on various statistics collected using SPECjvm98, its candidates, and two JavaSoft applications with byte code sizes ranging from 23 000 to 280 000 bytes. Each optimization contributes to an improvement in the performance of the programs. Copyright © 2000 John Wiley & Sons, Ltd.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信