MessageNode.st
changeset 531 1d037c37e5a2
parent 528 0a35ed44989f
child 536 9fe0b3be6672
--- a/MessageNode.st	Wed Jun 04 12:37:27 1997 +0200
+++ b/MessageNode.st	Wed Jun 04 12:38:20 1997 +0200
@@ -755,7 +755,7 @@
 
 codeOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler
     |recType nargs isBuiltIn litIndex cls clsLitIndex code isSpecial
-     stackTop arg1|
+     specialCode stackTop arg1|
 
     argArray isNil ifTrue:[
         nargs := 0
@@ -794,9 +794,6 @@
         ].
 
         isBuiltIn := aCompiler isBuiltInUnarySelector:selector forReceiver:receiver.
-        isBuiltIn ifFalse:[
-            isSpecial := aCompiler isSpecialSendSelector:selector
-        ]
     ].
 
     (nargs == 1) ifTrue:[
@@ -846,9 +843,6 @@
         ].
 
         isBuiltIn := aCompiler isBuiltIn1ArgSelector:selector forReceiver:receiver.
-        isBuiltIn ifFalse:[
-            isSpecial := aCompiler isSpecialSendSelector:selector
-        ]
     ].
 
     (nargs == 2) ifTrue:[
@@ -862,9 +856,11 @@
             ]
         ].
         isBuiltIn := aCompiler isBuiltIn2ArgSelector:selector forReceiver:receiver.
-        isBuiltIn ifFalse:[
-            isSpecial := aCompiler isSpecialSendSelector:selector
-        ]
+    ].
+
+    isBuiltIn ifFalse:[
+        specialCode := aCompiler specialSendCodeFor:selector.
+        isSpecial := specialCode notNil.
     ].
 
     "can we use a send-bytecode ?"
@@ -882,7 +878,7 @@
                 aStream nextPut:lineNr.
             ].
             isSpecial ifTrue:[
-                aStream nextPut:(aCompiler specialSendCodeFor:selector)
+                aStream nextPut:specialCode
             ].
             valueNeeded ifFalse:[
                 aStream nextPut:#drop
@@ -1021,7 +1017,7 @@
     ].
 
     "Modified: 3.9.1995 / 12:55:42 / claus"
-    "Modified: 10.11.1996 / 18:30:10 / cg"
+    "Modified: 4.6.1997 / 12:33:24 / cg"
 !
 
 codeOrIfElseOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler
@@ -1805,5 +1801,5 @@
 !MessageNode class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libcomp/MessageNode.st,v 1.64 1997-05-27 12:29:20 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/MessageNode.st,v 1.65 1997-06-04 10:38:20 cg Exp $'
 ! !