Supporting bytecodePrims and special selectors

Robert Withers reefedjib at yahoo.com
Mon Oct 15 22:21:59 UTC 2007


I am trying figure out a way to make ifTrue:, ifFalse:,  
ifTrue:ifFalse:, and ifFalse:ifTrue: as bytecodePrims with special  
selectors which I can normalSend on bytecodePrim failure (like if the  
receiver is not a Boolean).  To do this I think I need to build a  
difference parse tree for those selectors, emit special selectors  
which matchup to new bytecodePrim methods, write those bytecodePrim  
methods, and add to the list of special selectors, among other things.

As a guide for how to do this, I am looking to see how  
bytecodePrimAdd is invoked.  The compiler, through the SelectorNode,  
is encoding a "special send"/SendPlus of value 176.  What I don't see  
is how the Compiler arrives at using this code?  Could someone  
provide some guidance?

thanks,
Rob




More information about the Squeak-dev mailing list