[Vm-dev] Demo Of My "Live Compiler Debugger"

Kruck, Bastian Bastian.Kruck at student.hpi.de
Thu Mar 9 12:54:47 UTC 2017

Hello again,

thank you Clément and Eliot for your reactions on my simulation issues. For time reasons, I didn’t get it running yet, and try to build my demo without it for now. Here is a demo of my current work:


I have built a debugger that allows us to debug multiple language levels within the same debugger. In this video-walkthrough,
I am in an application and debugging the issue that minSmallInt // -1 does return minSmallInt.[1] I step through the application, AST, and Smalltalk Bytecode. On the lower levels, I have a feature to debug the translators and finally fix the bug in the JIT-Compiler right in the debugger.

This is why I try to make the VMMaker run the Slang and JIT simulation: To get the result of a primitive with some given arguments and step through its execution. So far, I got the Slang up and running. What is missing to enable my debugger stepping through the Bochs-Simulated JIT, is that I didn’t get the enilopmarts and stack setup right and wasn’t really sure where to fetch my evaluation result.

In that process, I created some general wrapping and unwrapping methods which I needed. I may try to clean up my changes to the VMMaker (e.g. general wrapping/unwrapping) to feed them back to the trunk, if desired.

I also experimented with using this debugger to debug a Smalltalk-hosted interpreter of a LISP-dialect.[2]  The walkthrough at the top is going to be the core of my master thesis. I will speak about it on SAC in April.[3]

So guys, what do you think about this? Are you full of question marks or did the video make sense to you? Just drop a short email to me with your current thoughts. I really appreciate your feedback :)

Best regards,

[1] This was an actual bug in Cogit: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/6

[2] Kruck, B. et al. Multi-Level Debugging For Interpreter Developers (WIP-Paper at LaMod), Demo: https://www.youtube.com/watch?v=6KfQ6Vpe-hU&t=2m48s

[3] Kruck, B. et al. Crossing Abstraction Barriers When Debugging in Dynamic Languages (To appear in SAC17)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20170309/dc4cc55f/attachment.html>

More information about the Vm-dev mailing list