--- 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 $'
! !