On Tue, Oct 5, 2010 at 9:23 AM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
 
Hi. So....if I want to intercept ALL message sends....going to #normalSend is not enough since I have #class, #==, Float>>#+   etc that are executed directly like bytecodes. So...my questions are now:

1) Those special selectors are those that are in "Smalltalk specialSelectors" ?  are there more?  all from there are special?

2) All those "Smalltalk specialSelectors"  have their associated bytecode primitive in Interpreter??  If true, then I should modify all bytecodePrim*  in Interpreter. I am right?   If I do that, that's all ? I am intercepting everything?

Right.  Just modify all of them to eliminate the optimized code and to revert to normalSend.  Providing you also look at the perform and method evaluation primitives I think you'll get all sends. 

There is another way.  Modify the Smalltalk compiler to to use the special selector sends.


Thanks a lot in advance,

Mariano



On Sun, Oct 3, 2010 at 11:09 PM, Craig Latta <craig@netjam.org> wrote:


> Craig Latta has done all this work, talk to him.

    Sure, I'd be happy to discuss it.


-C

--
Craig Latta
www.netjam.org
+ 31 020 894 6247
+  1 415 287 3547