Hi All, "coddling" is an English term meaning to treat in an over-protective way, so one may for example coddle a baby. In primitivePerform and primitivePerformAt some care is taken to save messageSelector and restore it if either primitive fails during lookup. Failure occurs when the number of arguments in the perform does not match the found method, but this is by the way. As far as I can see saving and restoring messageSelector is unnecessary because it cannot be read after failure. This is in contrast to newMethod which is read on failure when the failing perform method is activated.
I wanted to confirm with you in case I've missed something. I think I'm right even if the perform is wrapped inside any number of other performs or executeMethods, but more heads are better than one.
best Eliot
Well it's marked as changed by Dan (di) April 12, 1999 and has existing tail logic of
newMethod _ performMethod. messageSelector _ performSelector]
In looking in fact it's there in the squeak 1.1 release from the fall of 1996.
However in my 15 minutes of looking at messageSelector usage I don't see anything that leaps out implying the remembering/restore is vital.
On 12-May-09, at 9:35 PM, Eliot Miranda wrote:
primitivePerform
-- = = = ======================================================================== John M. McIntosh johnmci@smalltalkconsulting.com Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com = = = ========================================================================
vm-dev@lists.squeakfoundation.org