Cross-ISA debugging in meta-circular VMs
Cross-ISA debugging in meta-circular VMs
复制标题
元循环虚拟机中的跨 ISA 调试
DOI:
--
复制
发表时间:
2017
期刊:
影响因子:
--
通讯作者:
N. Foutris
中科院分区:
文献类型:
--
作者:
Christos Kotselidis;A. Nisbet;Foivos S. Zakkak;N. Foutris
Extending current Virtual Machine implementations to new Instruction Set Architectures entails a significant programming and debugging effort. Meta-circular VMs add another level of complexity towards this aim since they have to compile themselves with the same compiler that is being extended. Therefore, having low-level debugging tools is of vital importance in decreasing development time and bugs introduced. In this paper we describe our experiences in extending Maxine VM to the ARMv7 architecture. During that process, we developed a QEMU-based toolchain which enables us to debug a wide range of VM features in an automated way. The presented toolchain has been integrated with the JUNIT testing framework of Maxine VM and is capable of executing from simple assembly instructions to fully JIT compiled code. Furthermore, it is fully open-sourced and can be adapted to any other VMs seamlessly. Finally, we describe a compiler-assisted methodology that helps us identify, at runtime, faulty methods that generate no stack traces, in an automatic and fast manner.