Smalltalk如何操纵调用堆栈帧(thisContext)?

Eon*_*nil 5 continuations callstack smalltalk stack-frame

Smalltalk对象thisContext看起来奇怪而奇妙.我无法理解它是什么以及它是如何工作的.甚至它如何实现延续.

对于C的调用栈,我可以很容易地想象它是如何实现和工作的.但为此......我做不到.请帮我理解一下.

小智 5

我认为这不是一个简单的问题.使用MethodContext实例在图像中实现堆栈.MethodContext可以有一个发送者,它是另一个MethodContext.那个人可以有另一个......产生一整堆.在执行CompiledMethod(它们也在语言中实现)时,VM会实例化MethodContext.

MethodContext如何映射到C堆栈,这取决于VM.StackVM(CogVM位于StackVM之上)正是一个更好地映射MethodContext con C堆栈的VM.

除了Lukas说的BlueBook,请检查

http://www.mirandabanda.org/cogblog/ 检查左边的帖子......

我建议你在http://lists.squeakfoundation.org/mailman/listinfo/vm-dev上询问