[Vm-dev] interpreter method cache forwarding pointer checks

Eliot Miranda eliot.miranda at gmail.com
Wed Jun 1 17:52:41 UTC 2016


Hi Ben,

On Wed, Jun 1, 2016 at 7:29 AM, Ben Coman <btc at openinworld.com> wrote:

>
> Just curious if the probing of the intepreter method cache for
> forwarding pointers had been sorted out, per SpurMemoryManager class
> comment...
>
> > The inline cache failure code is then responsible for following the
> forwarding pointer chain (these are Iliffe vectors :) ) and resolving to
> the actual target.
>
> > (In the interpreter there needs to be a similar check when probing the
> method cache).   It has yet to be determined exactly how this is done (e.g.
> change the receiver register and/or stack contents and retry the send,
> perhaps scanning the current activation).
>

In the StackInterpeter look at internalFindNewMethodOrdinary and under
which circumstances it sends handleForwardedSelectorFaultFor: and
handleForwardedSendFaultForTag:.  In the Cogit look at ceSICMiss: (code
entry Single Inline Cache miss) and under which circumstances it
sends ceSendFromInLineCacheMiss:.


_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20160601/bbbc7b10/attachment.htm


More information about the Vm-dev mailing list