Proceedings of the 14th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages最新文献

筛选
英文 中文
Profile Guided Offline Optimization of Hidden Class Graphs for JavaScript VMs in Embedded Systems Profile引导离线优化的隐藏类图在嵌入式系统中的JavaScript虚拟机
Tomoharu Ugawa, Stefan Marr, Richard E. Jones
{"title":"Profile Guided Offline Optimization of Hidden Class Graphs for JavaScript VMs in Embedded Systems","authors":"Tomoharu Ugawa, Stefan Marr, Richard E. Jones","doi":"10.1145/3563838.3567678","DOIUrl":"https://doi.org/10.1145/3563838.3567678","url":null,"abstract":"JavaScript is increasingly used for the Internet of Things (IoT) on embedded systems. However, JavaScript's memory footprint is a challenge, because normal JavaScript virtual machines (VMs) do not fit into the small memory of IoT devices. In part this is because a significant amount of memory is used by hidden classes, which are used to represent JavaScript's dynamic objects efficiently. In this research, we optimize the hidden class graph to minimize their memory use. Our solution collects the hidden class graph and related information for an application in a profiling run, and optimizes the graph offline. We reduce the number of hidden classes by avoiding introducing intermediate ones, for instance when properties are added one after another. Our optimizations allow the VM to assign the most likely final hidden class to an object at its creation. They also minimize re-allocation of storage for property values, and reduce the polymorphism of inline caches. We implemented these optimizations in a JavaScript VM, eJSVM, and found that offline optimization can eliminate 61.9% of the hidden classes on average. It also improves execution speed by minimizing the number of hidden class transitions for an object and reducing inline cache misses.","PeriodicalId":262449,"journal":{"name":"Proceedings of the 14th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages","volume":"211 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114008406","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Ease Virtual Machine Level Tooling with Language Level Ordinary Object Pointers 简化虚拟机级别工具与语言级别普通对象指针
Pierre Misse-Chanabier, Théo Rogliano
{"title":"Ease Virtual Machine Level Tooling with Language Level Ordinary Object Pointers","authors":"Pierre Misse-Chanabier, Théo Rogliano","doi":"10.1145/3563838.3567676","DOIUrl":"https://doi.org/10.1145/3563838.3567676","url":null,"abstract":"Virtual Machines (VMs) are programming language implementations. When tooling the VM level, developers face an important abstraction gap. VMs supporting an Object-oriented Programming language often manipulates their memory using addresses i.e., ordinary object pointers (OOPs), even though addresses are hidden in the language this VM supports. This discourages tooling at the VM level. We propose language level OOP (LLOOP) to reduce abstraction gaps. LLOOP combine language and VM knowledge at the VM level to ease VM tooling. We present our implementation on the Pharo language. Moreover, we created two tools solving two real-world major bugs in the Pharo environment which required VM level support. First, we investigate how to fix a meta error that was preventing a Pharo environment to open. We repair the broken environment by tracking and fixing the language level method responsible for the error at the VM level. Second, we investigate a corrupted Pharo image. A few objects in the Pharo memory space were corrupted i.e., the VM was not able to read and manipulate them. We are able to identify and remove the corrupted objects, fixing the Pharo environment.","PeriodicalId":262449,"journal":{"name":"Proceedings of the 14th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages","volume":"77 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114859017","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Improving Vectorization Heuristics in a Dynamic Compiler with Machine Learning Models 用机器学习模型改进动态编译器中的矢量化启发式算法
Raphael Mosaner, G. Barany, David Leopoldseder, H. Mössenböck
{"title":"Improving Vectorization Heuristics in a Dynamic Compiler with Machine Learning Models","authors":"Raphael Mosaner, G. Barany, David Leopoldseder, H. Mössenböck","doi":"10.1145/3563838.3567679","DOIUrl":"https://doi.org/10.1145/3563838.3567679","url":null,"abstract":"Optimizing compilers rely on many hand-crafted heuristics to guide the optimization process. However, the interactions between different optimizations makes their design a difficult task. We propose using machine learning models to either replace such heuristics or to support their development process, for example, by identifying important code features. Especially in static compilation, machine learning has been shown to outperform hand-crafted heuristics. We applied our approach in a state-of-the-art dynamic compiler, the GraalVM compiler. Our models predict an unroll factor for vectorized loops for which the GraalVM compiler developers have not been able to design satisfactory heuristics. Thereby, we identified features to describe vectorized loops and empirically evaluated the impact of different training data, features or model parameters on the accuracy of the learned models. When deployed in the GraalVM dynamic compiler, our models produce significant speedups of 8-11%, on average. Furthermore, large speedups unveiled a performance bug in the compiler which was fixed after our report. Our work shows that machine learning can be used to improve a dynamic compiler directly by replacing existing vectorization heuristics or indirectly by helping compiler developers to design better hand-crafted heuristics.","PeriodicalId":262449,"journal":{"name":"Proceedings of the 14th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129760888","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Inlining-Benefit Prediction with Interprocedural Partial Escape Analysis 程序间部分逃逸分析的内联效益预测
Matthew Edwin Weingarten, Theodoros Theodoridis, Aleksandar Prokopec
{"title":"Inlining-Benefit Prediction with Interprocedural Partial Escape Analysis","authors":"Matthew Edwin Weingarten, Theodoros Theodoridis, Aleksandar Prokopec","doi":"10.1145/3563838.3567677","DOIUrl":"https://doi.org/10.1145/3563838.3567677","url":null,"abstract":"Inlining is the primary facilitating mechanism for intraprocedural Partial Escape Analysis (PEA), which allows for the removal of object allocations on a branch-by-branch basis and is critical for performance in object-oriented languages. Prior work used interprocedural Escape Analysis to make inlining decisions, but it discarded control-flow-sensitivity when crossing procedure boundaries, and did not weigh other metrics to model the cost-benefit of inlining, resulting in unpredictable inlining decisions and suboptimal performance. Our work addresses these issues and introduces a novel Interprocedural Partial Escape Analysis algorithm (IPEA) to predict the inlining benefits, and improve the cost-benefit model of an existing optimization-driven inliner. We evaluate the implementation of IPEA in GraalVM Native Image, on industry-standard benchmark suites Dacapo, ScalaBench, and Renaissance. Out of 36 benchmarks with a geometric mean runtime improvement of 1.79%, 6 benchmarks achieve an improvement of over 5% with a geomean of 9.10% and up to 24.62%, while also reducing code size and compilation times compared to existing approaches.","PeriodicalId":262449,"journal":{"name":"Proceedings of the 14th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128039783","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Proceedings of the 14th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages 第14届ACM SIGPLAN虚拟机和中间语言国际研讨会论文集
{"title":"Proceedings of the 14th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages","authors":"","doi":"10.1145/3563838","DOIUrl":"https://doi.org/10.1145/3563838","url":null,"abstract":"","PeriodicalId":262449,"journal":{"name":"Proceedings of the 14th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages","volume":"94 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122640078","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信