[Vm-dev] Register allocation and debugging in Squeak

Clément Bera bera.clement at gmail.com
Tue Aug 13 12:28:17 UTC 2013


Hello Eliot and all,

Recently I watched a video of Eliot introducing Cog (
http://www.youtube.com/watch?v=-ei1bnLHdhA part 1 to 7).

At some point, Eliot says that a better code generator was planned with
optimizations such as constant folding and stack to register mapping (I
guess it does exist, but as a prototype only). However, it seems that this
last optimization (register allocation) is tricky to manage with the
debugger: in the Self VM, it seems that the contexts were in read-only in
the debugger because they didn't know if the variable was stored in a
register or in the memory.

Now I know that Eliot wouldn't have planned an optimization that will
destroy the debugging power of Squeak. How did you guys plan to add the
register allocation without destroying the debugging power of Squeak ?

Did you plan to add something similar to the scope descriptor that they
have in the Self VM to allow aggressive optimizations with regular
debugging ? Did you plan to annotate the stack frames with meta data and if
so, how would you have implemented it ?

Thanks for any answers,

Clement
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20130813/75e03059/attachment.htm


More information about the Vm-dev mailing list