[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