--- a/AssignNd.st Thu Feb 25 15:48:48 1999 +0100
+++ b/AssignNd.st Thu Feb 25 15:49:27 1999 +0100
@@ -137,7 +137,7 @@
isSend := expression isMessage.
(lineNr notNil
and:[isSend not]) ifTrue:[
- ParseNode codeLineNumber:lineNr on:aStream for:aCompiler
+ self codeLineNumber:lineNr on:aStream for:aCompiler
].
expression codeOn:aStream inBlock:b for:aCompiler.
@@ -149,7 +149,7 @@
(lineNr notNil
and:[isSend]) ifTrue:[
- ParseNode codeLineNumber:lineNr on:aStream for:aCompiler
+ self codeLineNumber:lineNr on:aStream for:aCompiler
].
variable codeStoreOn:aStream inBlock:b valueNeeded:forValue for:aCompiler
@@ -213,5 +213,5 @@
!AssignmentNode class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/Attic/AssignNd.st,v 1.26 1998-05-14 17:33:53 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/Attic/AssignNd.st,v 1.27 1999-02-25 14:49:27 cg Exp $'
! !
--- a/AssignmentNode.st Thu Feb 25 15:48:48 1999 +0100
+++ b/AssignmentNode.st Thu Feb 25 15:49:27 1999 +0100
@@ -137,7 +137,7 @@
isSend := expression isMessage.
(lineNr notNil
and:[isSend not]) ifTrue:[
- ParseNode codeLineNumber:lineNr on:aStream for:aCompiler
+ self codeLineNumber:lineNr on:aStream for:aCompiler
].
expression codeOn:aStream inBlock:b for:aCompiler.
@@ -149,7 +149,7 @@
(lineNr notNil
and:[isSend]) ifTrue:[
- ParseNode codeLineNumber:lineNr on:aStream for:aCompiler
+ self codeLineNumber:lineNr on:aStream for:aCompiler
].
variable codeStoreOn:aStream inBlock:b valueNeeded:forValue for:aCompiler
@@ -213,5 +213,5 @@
!AssignmentNode class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/AssignmentNode.st,v 1.26 1998-05-14 17:33:53 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/AssignmentNode.st,v 1.27 1999-02-25 14:49:27 cg Exp $'
! !
--- a/BlockNode.st Thu Feb 25 15:48:48 1999 +0100
+++ b/BlockNode.st Thu Feb 25 15:49:27 1999 +0100
@@ -438,7 +438,7 @@
statements isNil ifTrue:[
endLineNr notNil ifTrue:[
- ParseNode codeLineNumber:endLineNr on:aStream for:aCompiler
+ self codeLineNumber:endLineNr on:aStream for:aCompiler
].
aStream nextPut:#pushNil.
aStream nextPut:#retTop.
@@ -464,7 +464,7 @@
].
lastStatement codeOn:aStream inBlock:self for:aCompiler.
endLineNr notNil ifTrue:[
- ParseNode codeLineNumber:endLineNr on:aStream for:aCompiler
+ self codeLineNumber:endLineNr on:aStream for:aCompiler
].
aStream nextPut:#retTop.
].
@@ -929,5 +929,5 @@
!BlockNode class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/BlockNode.st,v 1.53 1998-04-02 17:10:27 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/BlockNode.st,v 1.54 1999-02-25 14:49:18 cg Exp $'
! !
--- a/MessageNd.st Thu Feb 25 15:48:48 1999 +0100
+++ b/MessageNd.st Thu Feb 25 15:49:27 1999 +0100
@@ -1896,9 +1896,9 @@
codeWhileOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler
"generate code for
- [...] whileXXX:[ ... ]
+ [...] whileXXX:[ ... ]
and also
- [...] whileXXX
+ [...] whileXXX
"
|pos pos2 theReceiver theArg theByteCode optByteCode needLineNr blockExpr
@@ -1906,18 +1906,18 @@
hasLoopBlock := true.
(selector == #whileTrue:) ifTrue:[
- theByteCode := #falseJump.
+ theByteCode := #falseJump.
] ifFalse:[
- (selector == #whileFalse:) ifTrue:[
- theByteCode := #trueJump
- ] ifFalse:[
- hasLoopBlock := false.
- (selector == #whileTrue) ifTrue:[
- theByteCode := #trueJump
- ] ifFalse:[
- theByteCode := #falseJump
- ].
- ]
+ (selector == #whileFalse:) ifTrue:[
+ theByteCode := #trueJump
+ ] ifFalse:[
+ hasLoopBlock := false.
+ (selector == #whileTrue) ifTrue:[
+ theByteCode := #trueJump
+ ] ifFalse:[
+ theByteCode := #falseJump
+ ].
+ ]
].
theReceiver := receiver.
@@ -1927,18 +1927,18 @@
and:[receiver statements nextStatement isNil
and:[receiver statements expression notNil]]])
ifTrue:[
- fastReceiver := receiver statements expression.
- optByteCode := self optimizedConditionFor:fastReceiver with:theByteCode.
+ fastReceiver := receiver statements expression.
+ optByteCode := self optimizedConditionFor:fastReceiver with:theByteCode.
] ifFalse:[
- optByteCode := self optimizedConditionFor:theReceiver with:theByteCode.
+ optByteCode := self optimizedConditionFor:theReceiver with:theByteCode.
].
optByteCode notNil ifTrue:[
- ((optByteCode == #eqJump) or:[optByteCode == #notEqJump]) ifTrue:[
- theArg := receiver statements expression arg1
- ].
- theReceiver := receiver statements expression receiver.
- theByteCode := optByteCode
+ ((optByteCode == #eqJump) or:[optByteCode == #notEqJump]) ifTrue:[
+ theArg := receiver statements expression arg1
+ ].
+ theReceiver := receiver statements expression receiver.
+ theByteCode := optByteCode
].
"/ OLD:
@@ -1949,90 +1949,90 @@
pos := aStream position.
"/ aCompiler lineNumberInfo == #full ifTrue:[
- ParseNode codeLineNumber:lineNr on:aStream for:aCompiler.
- needLineNr := false.
+ self codeLineNumber:lineNr on:aStream for:aCompiler.
+ needLineNr := false.
"/ ].
optByteCode notNil ifTrue:[
- theReceiver codeOn:aStream inBlock:b for:aCompiler.
- theArg notNil ifTrue:[
- theArg codeOn:aStream inBlock:b for:aCompiler
- ]
+ theReceiver codeOn:aStream inBlock:b for:aCompiler.
+ theArg notNil ifTrue:[
+ theArg codeOn:aStream inBlock:b for:aCompiler
+ ]
] ifFalse:[
- fastReceiver notNil ifTrue:[
- theByteCode == #trueJump ifTrue:[
- fastReceiver isConstant ifTrue:[
- fastReceiver evaluate == true ifTrue:[
- theByteCode := #jump
- ] ifFalse:[
- fastReceiver evaluate == false ifTrue:[
- theByteCode := #never
- ]
- ]
- ]
- ] ifFalse:[
- theByteCode == #falseJump ifTrue:[
- fastReceiver isConstant ifTrue:[
- fastReceiver evaluate == false ifTrue:[
- theByteCode := #jump
- ] ifFalse:[
- fastReceiver evaluate == true ifTrue:[
- theByteCode := #never
- ]
- ]
- ]
- ]
- ]
- ].
+ fastReceiver notNil ifTrue:[
+ theByteCode == #trueJump ifTrue:[
+ fastReceiver isConstant ifTrue:[
+ fastReceiver evaluate == true ifTrue:[
+ theByteCode := #jump
+ ] ifFalse:[
+ fastReceiver evaluate == false ifTrue:[
+ theByteCode := #never
+ ]
+ ]
+ ]
+ ] ifFalse:[
+ theByteCode == #falseJump ifTrue:[
+ fastReceiver isConstant ifTrue:[
+ fastReceiver evaluate == false ifTrue:[
+ theByteCode := #jump
+ ] ifFalse:[
+ fastReceiver evaluate == true ifTrue:[
+ theByteCode := #never
+ ]
+ ]
+ ]
+ ]
+ ]
+ ].
- (theByteCode ~~ #jump
- and:[theByteCode ~~ #never]) ifTrue:[
- theReceiver codeInlineOn:aStream inBlock:b for:aCompiler.
- ].
+ (theByteCode ~~ #jump
+ and:[theByteCode ~~ #never]) ifTrue:[
+ theReceiver codeInlineOn:aStream inBlock:b for:aCompiler.
+ ].
- "/
- "/ cannot enable code below
- "/ (tiny loops would not be debuggable with next, since lineNo remains the same)
- "/ think about it ...
- "/
- blockExpr := theReceiver simpleSendBlockExpression.
- blockExpr notNil ifTrue:[
- blockExpr isMessage ifTrue:[
- (aCompiler hasLineNumber:(blockExpr selector)) ifTrue:[
- blockExpr lineNumber == lineNr ifTrue:[
- needLineNr := false
- ]
- ]
- ]
- ].
+ "/
+ "/ cannot enable code below
+ "/ (tiny loops would not be debuggable with next, since lineNo remains the same)
+ "/ think about it ...
+ "/
+ blockExpr := theReceiver simpleSendBlockExpression.
+ blockExpr notNil ifTrue:[
+ blockExpr isMessage ifTrue:[
+ (aCompiler hasLineNumber:(blockExpr selector)) ifTrue:[
+ blockExpr lineNumber == lineNr ifTrue:[
+ needLineNr := false
+ ]
+ ]
+ ]
+ ].
].
needLineNr ifTrue:[
- ParseNode codeLineNumber:lineNr on:aStream for:aCompiler.
+ ParseNode codeLineNumber:lineNr on:aStream for:aCompiler.
].
hasLoopBlock ifFalse:[
- "/ simple [...] whileXXX
- theByteCode ~~ #never ifTrue:[
- aStream nextPut:theByteCode; nextPut:pos.
- ].
+ "/ simple [...] whileXXX
+ theByteCode ~~ #never ifTrue:[
+ aStream nextPut:theByteCode; nextPut:pos.
+ ].
- valueNeeded ifTrue:[aStream nextPut:#pushNil].
- ^ self
+ valueNeeded ifTrue:[aStream nextPut:#pushNil].
+ ^ self
].
"/ [...] whileXXX:[...]
theByteCode ~~ #never ifTrue:[
- aStream nextPut:theByteCode.
- pos2 := aStream position.
- aStream nextPut:0.
+ aStream nextPut:theByteCode.
+ pos2 := aStream position.
+ aStream nextPut:0.
].
(argArray at:1) codeInlineOn:aStream inBlock:b valueNeeded:false for:aCompiler.
aStream nextPut:#jump; nextPut:pos.
theByteCode ~~ #never ifTrue:[
- (aStream contents) at:pos2 put:(aStream position).
+ (aStream contents) at:pos2 put:(aStream position).
].
valueNeeded ifTrue:[aStream nextPut:#pushNil].
@@ -2352,5 +2352,5 @@
!MessageNode class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/Attic/MessageNd.st,v 1.89 1999-02-17 19:35:07 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/Attic/MessageNd.st,v 1.90 1999-02-25 14:49:10 cg Exp $'
! !
--- a/MessageNode.st Thu Feb 25 15:48:48 1999 +0100
+++ b/MessageNode.st Thu Feb 25 15:49:27 1999 +0100
@@ -1896,9 +1896,9 @@
codeWhileOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler
"generate code for
- [...] whileXXX:[ ... ]
+ [...] whileXXX:[ ... ]
and also
- [...] whileXXX
+ [...] whileXXX
"
|pos pos2 theReceiver theArg theByteCode optByteCode needLineNr blockExpr
@@ -1906,18 +1906,18 @@
hasLoopBlock := true.
(selector == #whileTrue:) ifTrue:[
- theByteCode := #falseJump.
+ theByteCode := #falseJump.
] ifFalse:[
- (selector == #whileFalse:) ifTrue:[
- theByteCode := #trueJump
- ] ifFalse:[
- hasLoopBlock := false.
- (selector == #whileTrue) ifTrue:[
- theByteCode := #trueJump
- ] ifFalse:[
- theByteCode := #falseJump
- ].
- ]
+ (selector == #whileFalse:) ifTrue:[
+ theByteCode := #trueJump
+ ] ifFalse:[
+ hasLoopBlock := false.
+ (selector == #whileTrue) ifTrue:[
+ theByteCode := #trueJump
+ ] ifFalse:[
+ theByteCode := #falseJump
+ ].
+ ]
].
theReceiver := receiver.
@@ -1927,18 +1927,18 @@
and:[receiver statements nextStatement isNil
and:[receiver statements expression notNil]]])
ifTrue:[
- fastReceiver := receiver statements expression.
- optByteCode := self optimizedConditionFor:fastReceiver with:theByteCode.
+ fastReceiver := receiver statements expression.
+ optByteCode := self optimizedConditionFor:fastReceiver with:theByteCode.
] ifFalse:[
- optByteCode := self optimizedConditionFor:theReceiver with:theByteCode.
+ optByteCode := self optimizedConditionFor:theReceiver with:theByteCode.
].
optByteCode notNil ifTrue:[
- ((optByteCode == #eqJump) or:[optByteCode == #notEqJump]) ifTrue:[
- theArg := receiver statements expression arg1
- ].
- theReceiver := receiver statements expression receiver.
- theByteCode := optByteCode
+ ((optByteCode == #eqJump) or:[optByteCode == #notEqJump]) ifTrue:[
+ theArg := receiver statements expression arg1
+ ].
+ theReceiver := receiver statements expression receiver.
+ theByteCode := optByteCode
].
"/ OLD:
@@ -1949,90 +1949,90 @@
pos := aStream position.
"/ aCompiler lineNumberInfo == #full ifTrue:[
- ParseNode codeLineNumber:lineNr on:aStream for:aCompiler.
- needLineNr := false.
+ self codeLineNumber:lineNr on:aStream for:aCompiler.
+ needLineNr := false.
"/ ].
optByteCode notNil ifTrue:[
- theReceiver codeOn:aStream inBlock:b for:aCompiler.
- theArg notNil ifTrue:[
- theArg codeOn:aStream inBlock:b for:aCompiler
- ]
+ theReceiver codeOn:aStream inBlock:b for:aCompiler.
+ theArg notNil ifTrue:[
+ theArg codeOn:aStream inBlock:b for:aCompiler
+ ]
] ifFalse:[
- fastReceiver notNil ifTrue:[
- theByteCode == #trueJump ifTrue:[
- fastReceiver isConstant ifTrue:[
- fastReceiver evaluate == true ifTrue:[
- theByteCode := #jump
- ] ifFalse:[
- fastReceiver evaluate == false ifTrue:[
- theByteCode := #never
- ]
- ]
- ]
- ] ifFalse:[
- theByteCode == #falseJump ifTrue:[
- fastReceiver isConstant ifTrue:[
- fastReceiver evaluate == false ifTrue:[
- theByteCode := #jump
- ] ifFalse:[
- fastReceiver evaluate == true ifTrue:[
- theByteCode := #never
- ]
- ]
- ]
- ]
- ]
- ].
+ fastReceiver notNil ifTrue:[
+ theByteCode == #trueJump ifTrue:[
+ fastReceiver isConstant ifTrue:[
+ fastReceiver evaluate == true ifTrue:[
+ theByteCode := #jump
+ ] ifFalse:[
+ fastReceiver evaluate == false ifTrue:[
+ theByteCode := #never
+ ]
+ ]
+ ]
+ ] ifFalse:[
+ theByteCode == #falseJump ifTrue:[
+ fastReceiver isConstant ifTrue:[
+ fastReceiver evaluate == false ifTrue:[
+ theByteCode := #jump
+ ] ifFalse:[
+ fastReceiver evaluate == true ifTrue:[
+ theByteCode := #never
+ ]
+ ]
+ ]
+ ]
+ ]
+ ].
- (theByteCode ~~ #jump
- and:[theByteCode ~~ #never]) ifTrue:[
- theReceiver codeInlineOn:aStream inBlock:b for:aCompiler.
- ].
+ (theByteCode ~~ #jump
+ and:[theByteCode ~~ #never]) ifTrue:[
+ theReceiver codeInlineOn:aStream inBlock:b for:aCompiler.
+ ].
- "/
- "/ cannot enable code below
- "/ (tiny loops would not be debuggable with next, since lineNo remains the same)
- "/ think about it ...
- "/
- blockExpr := theReceiver simpleSendBlockExpression.
- blockExpr notNil ifTrue:[
- blockExpr isMessage ifTrue:[
- (aCompiler hasLineNumber:(blockExpr selector)) ifTrue:[
- blockExpr lineNumber == lineNr ifTrue:[
- needLineNr := false
- ]
- ]
- ]
- ].
+ "/
+ "/ cannot enable code below
+ "/ (tiny loops would not be debuggable with next, since lineNo remains the same)
+ "/ think about it ...
+ "/
+ blockExpr := theReceiver simpleSendBlockExpression.
+ blockExpr notNil ifTrue:[
+ blockExpr isMessage ifTrue:[
+ (aCompiler hasLineNumber:(blockExpr selector)) ifTrue:[
+ blockExpr lineNumber == lineNr ifTrue:[
+ needLineNr := false
+ ]
+ ]
+ ]
+ ].
].
needLineNr ifTrue:[
- ParseNode codeLineNumber:lineNr on:aStream for:aCompiler.
+ ParseNode codeLineNumber:lineNr on:aStream for:aCompiler.
].
hasLoopBlock ifFalse:[
- "/ simple [...] whileXXX
- theByteCode ~~ #never ifTrue:[
- aStream nextPut:theByteCode; nextPut:pos.
- ].
+ "/ simple [...] whileXXX
+ theByteCode ~~ #never ifTrue:[
+ aStream nextPut:theByteCode; nextPut:pos.
+ ].
- valueNeeded ifTrue:[aStream nextPut:#pushNil].
- ^ self
+ valueNeeded ifTrue:[aStream nextPut:#pushNil].
+ ^ self
].
"/ [...] whileXXX:[...]
theByteCode ~~ #never ifTrue:[
- aStream nextPut:theByteCode.
- pos2 := aStream position.
- aStream nextPut:0.
+ aStream nextPut:theByteCode.
+ pos2 := aStream position.
+ aStream nextPut:0.
].
(argArray at:1) codeInlineOn:aStream inBlock:b valueNeeded:false for:aCompiler.
aStream nextPut:#jump; nextPut:pos.
theByteCode ~~ #never ifTrue:[
- (aStream contents) at:pos2 put:(aStream position).
+ (aStream contents) at:pos2 put:(aStream position).
].
valueNeeded ifTrue:[aStream nextPut:#pushNil].
@@ -2352,5 +2352,5 @@
!MessageNode class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/MessageNode.st,v 1.89 1999-02-17 19:35:07 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/MessageNode.st,v 1.90 1999-02-25 14:49:10 cg Exp $'
! !
--- a/RetNode.st Thu Feb 25 15:48:48 1999 +0100
+++ b/RetNode.st Thu Feb 25 15:49:27 1999 +0100
@@ -119,7 +119,7 @@
].
lineNrOrNil notNil ifTrue:[
- ParseNode codeLineNumber:lineNrOrNil on:aStream for:aCompiler
+ self codeLineNumber:lineNrOrNil on:aStream for:aCompiler
].
aStream nextPut:code.
@@ -159,7 +159,7 @@
expression codeOn:aStream inBlock:b for:aCompiler.
lineNr notNil ifTrue:[
- ParseNode codeLineNumber:lineNr on:aStream for:aCompiler
+ self codeLineNumber:lineNr on:aStream for:aCompiler
].
aStream nextPut:#homeRetTop.
@@ -211,5 +211,5 @@
!ReturnNode class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/Attic/RetNode.st,v 1.20 1997-06-19 14:57:29 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/Attic/RetNode.st,v 1.21 1999-02-25 14:49:00 cg Exp $'
! !
--- a/ReturnNode.st Thu Feb 25 15:48:48 1999 +0100
+++ b/ReturnNode.st Thu Feb 25 15:49:27 1999 +0100
@@ -119,7 +119,7 @@
].
lineNrOrNil notNil ifTrue:[
- ParseNode codeLineNumber:lineNrOrNil on:aStream for:aCompiler
+ self codeLineNumber:lineNrOrNil on:aStream for:aCompiler
].
aStream nextPut:code.
@@ -159,7 +159,7 @@
expression codeOn:aStream inBlock:b for:aCompiler.
lineNr notNil ifTrue:[
- ParseNode codeLineNumber:lineNr on:aStream for:aCompiler
+ self codeLineNumber:lineNr on:aStream for:aCompiler
].
aStream nextPut:#homeRetTop.
@@ -211,5 +211,5 @@
!ReturnNode class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/ReturnNode.st,v 1.20 1997-06-19 14:57:29 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/ReturnNode.st,v 1.21 1999-02-25 14:49:00 cg Exp $'
! !