[Vm-dev] [VM-dev] Does doesNotUnderstand:/cannotInterprer: jitted?

Clément Bera bera.clement at gmail.com
Wed Nov 23 09:37:43 UTC 2016


PIC = Polymorphic Inline Cache

PUC I don't know.

On Wed, Nov 23, 2016 at 10:11 AM, Denis Kudriashov <dionisiydk at gmail.com>
wrote:

>
>
> 2016-11-23 0:47 GMT+01:00 Eliot Miranda <eliot.miranda at gmail.com>:
>
>>
>> A PIC is just a table of up to 6 register load, class (index) comparison
>> pairs.  The entry code gets the class of the receiver into a temp reg and
>> then jumps to the sequence of load, class (index) comparisons.  Whenever
>> there's a match the comparison jumps to the entry point of the method.  For
>> an MNU case, instead of jumping to a method entry point, it jumps to an
>> abort call at the start of the PIC, before the PIC's entry code.  The abort
>> call creates the method and tests the value loaded into the register.  If
>> the value loaded is that of a method it jumps to the entry point of that
>> method.  The method loaded is the MNU method for the class.
>>
>
> Thank's Eliot. Logic is clear for me now. And it is named PUC, right? What
> abbreviation means?
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20161123/68cfaedd/attachment.html>


More information about the Vm-dev mailing list