[Vm-dev] How to track message sends in CompiledMethod object?

Mariano Martinez Peck marianopeck at gmail.com
Mon Aug 23 16:34:18 UTC 2010


Hi folks. I am using the lsat free bit of the Squeak Object header to do
some experiments. What I need to do now is to be able to set such bit for
the CompiledMethod objects, when those selectors are sent.

Suppose that from the image side I do "Date today yyyymmdd"  then I want to
set that bit in the object header of the CompiledMethod Date>> #today and
CompiledMethod Date>> #yyyymmdd

Now....I check in the VM and I am not sure where I should do that. I already
have my own primitive so that I can do something like this:

((self isIntegerObject: rcvr) not and: [hasToTrace])
        ifTrue: [
            self internalTurnOnUsedBit: rcvr.
            ].

Now...where I can intercept this in the VM? I found Interpreter >>
internalExecuteNewMethod

is it there? should I access to "newMethod" and do something like this:

rcvr := "somehow I access to Interpreter newMethod"
((self isIntegerObject: rcvr) not and: [hasToTrace])
        ifTrue: [
            self internalTurnOnUsedBit: rcvr.
            ].


thanks for any help

mariano
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20100823/2f27b6e0/attachment.htm


More information about the Vm-dev mailing list