Supporting bytecodePrims and special selectors

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Supporting bytecodePrims and special selectors

Rob Withers
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