Searching for "thisContext selector"

Dan Ingalls DanI at
Tue Aug 18 01:38:29 UTC 1998

<x-rich>"Alejandro F. Reimondo" <<aleReimondo at> wrote...

>>What can I do to get the sent selector of thisContext

>> from the VM stack (or current method) ?

 Tim Olson <<tim at> replied...

>You will have to look at the bytecode prior to the sender's PC to 

>determine its type.  If it is a literal send (> 208), then you can get

>the selector using something like:

>	| method pc |

>	method := thisContext sender method.

>	pc := thisContext sender pc.

>	^ method literals at: ((method at: pc-1) - 207)


>Common selectors such as the arithmetic primitives and things like

>use special bytecodes in the following ranges:

>		 176-191 sendArithmeticSelectorBytecode

>		 192-207 sendCommonSelectorBytecode


>You can determine the selector for these by building a


....or an Array for speed.

And, by the way, you can get all of the special selectors, interspersed
with their arity, by printing (or executing)...

	Smalltalk specialObjectsArray at: 24

Good luck on this cool project, Ale!

	- Dan


More information about the Squeak-dev mailing list