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":null,"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.0000,"publicationDate":"2022-11-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 14th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3563838.3567676","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

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.
简化虚拟机级别工具与语言级别普通对象指针
虚拟机(vm)是编程语言的实现。在为VM级别提供工具时,开发人员面临着一个重要的抽象鸿沟。支持面向对象编程语言的虚拟机经常使用地址,即普通对象指针(OOPs)来操作它们的内存,即使地址隐藏在该虚拟机支持的语言中。这不利于在VM级别上使用工具。我们提出了语言级OOP (LLOOP)来减少抽象差距。LLOOP结合了VM级别的语言和VM知识,以简化VM工具。我们展示了我们在Pharo语言上的实现。此外,我们创建了两个工具来解决Pharo环境中需要VM级别支持的两个现实世界中的主要错误。首先,我们研究如何修复阻止Pharo环境打开的元错误。我们通过跟踪和修复导致VM级别错误的语言级别方法来修复损坏的环境。其次,我们调查一个损坏的Pharo图像。Pharo内存空间中的一些对象被损坏,即VM无法读取和操作它们。我们能够识别并移除损坏的物体,修复Pharo环境。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
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学术官方微信