Hi Mariano,<div><br></div><div>I would put it in addNewMethodToCache. I wold also consider using the unused header bit in CompiledMethod instead of the unused object header bit (see CompiledMethod>>clearFlag & CompiledMethod>>flag).</div>
<div><br><div class="gmail_quote">On Mon, Aug 23, 2010 at 9:34 AM, Mariano Martinez Peck <span dir="ltr"><<a href="mailto:marianopeck@gmail.com">marianopeck@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>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.<br><br>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<br>
<br>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:<br><br>((self isIntegerObject: rcvr) not and: [hasToTrace])<br> ifTrue: [ <br>
self internalTurnOnUsedBit: rcvr.<br> ].<br><br>Now...where I can intercept this in the VM? I found Interpreter >> internalExecuteNewMethod<br><br>is it there? should I access to "newMethod" and do something like this:<br>
<br>rcvr := "somehow I access to Interpreter newMethod"<br>((self isIntegerObject: rcvr) not and: [hasToTrace])<br>
ifTrue: [ <br>
self internalTurnOnUsedBit: rcvr.<br>
].<br>
<br><br>thanks for any help<br><br>mariano<br>
<br></blockquote></div><br></div>