[squeak-dev] How does the VM deal with method dictionaries?

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Mon Feb 24 13:14:38 UTC 2020


Hi all,


one curious question:


c := Object newSubclass.
c compile: 'foo ^#foo'.
c methodDict: (ObjectTracer on: c methodDict).
c flushCache.
o := c new.
o foo.


I would have expected to get a notification from the ObjectTracer when executing the last line, because somehow the execution machinery must resolve the method to be executed. But actually, what I get is an MNU (Object1 >> #foo).

For comparison: If I skip the ObjectTracer line, the example works and #foo is returned.

Can anyone explain this? :-)


Best,

Christoph
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200224/20e93f6b/attachment.html>


More information about the Squeak-dev mailing list