[Vm-dev] Continuing after Send Site patch
Lars
lars.wassermann at googlemail.com
Sun Feb 3 17:25:28 UTC 2013
Hello,
today, I added compilation of another two RTLOpcodes (MoveX(w|b)rRR) and
ended up with patching the first send site
(#rewriteInlineCacheAt:tag:target:). Yay.
Unfortunately, continuing after that patch doesn't work yet. With any of
the Interpreters, I end up with a broken assert in
(#assertValidExecutionPointe:r:s:imbar:).
Here the source of that assert. It is the last assert which is called in
that method with my parameters.
self assert: ((self mframeIsBlockActivation: lifp)
or: [(self pushedReceiverOrClosureOfFrame: lifp) =
(self mframeReceiver: lifp)])
Is the problem that the Smalltalk stack is not well ordered? In the
virtual or the Smalltalk-Smalltalk abi case?
Is it possible to diagnose from afar whether the first or the second
alternative should be true? What information would you need to decide that?
All the best,
Lars
More information about the Vm-dev
mailing list