On Mar 28, 2011, at 11:28 AM, Mariano Martinez Peck wrote: > Hi folks. I would like to know which are the messages that are not really > executed, thus not being intercepted by proxies. > So far, I know: > > 1) > those are inlined by the compiler... > yes.
> 2) Special shorcut bytecodes that are in "Smalltalk specialSelectors" / > "ParseNode classVarNamed: 'StdSelectors'" / "Smalltalk specialObjectsArray > at: 24" > > Here I have a question...if I understand correctly, in this list of selectors > there are 3 cases: > > 2.1) methods may or may not be executed depending on the receiver/arguments. > For example > 1 + 2 will never send the message #+ to 1. > but 1 + 'mariano' will do. > yes. > 2.2) methods that are NEVER sent, like #class and #== > yes > 2.3) methods that are ALWAYS sent, like #new, #next, #nextPut:, #size, etc. > > So...did I understand correclty this part? > I think so, yes. > > are there more cases where a message may not be really executed? You could see the block creation bytecode as a problematic case. It's not a message, so you can't trap it. But then when we are on that level, the same is with iVar access. Or temp access. -- Marcus Denker -- http://www.marcusdenker.de INRIA Lille -- Nord Europe. Team RMoD.
