[Vm-dev] VM Maker: VMMaker.oscog-eem.493.mcz
commits at source.squeak.org
commits at source.squeak.org
Sat Nov 2 00:52:46 UTC 2013
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.493.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.493
Author: eem
Time: 1 November 2013, 5:29:24.503 pm
UUID: d37e2bf0-ffed-4789-be4e-2aa8a9630e47
Ancestors: VMMaker.oscog-eem.492
Revise TStmtListNode>>stream:endsWithAnyOf: top work around a
bug in UTF8TextConverter>>nextPut:toStream: which avoids
line-end conversion.
Move or remove teh references to Debug in enterCogCodePopReceiver
et al to prevent the Debug VM from aborting.
=============== Diff against VMMaker.oscog-eem.492 ===============
Item was changed:
----- Method: Cogit>>enterCogCodePopReceiver (in category 'debugging') -----
enterCogCodePopReceiver
"This is a static version of ceEnterCogCodePopReceiverReg
for break-pointing when debugging in C."
<api>
<inline: false>
- "(and this exists only to reference Debug)"
- Debug ifFalse: [self error: 'what??'].
"This exists only for break-pointing."
+ self cCode: [self realCEEnterCogCodePopReceiverReg]
+ inSmalltalk: [self ceEnterCogCodePopReceiverReg].
+ "(and this exists only to reference Debug)"
+ Debug ifFalse: [self error: 'what??']!
- self cCode: 'realCEEnterCogCodePopReceiverReg()'
- inSmalltalk: [self ceEnterCogCodePopReceiverReg]!
Item was changed:
----- Method: Cogit>>enterCogCodePopReceiverAndClassRegs (in category 'debugging') -----
enterCogCodePopReceiverAndClassRegs
"This is a static version of ceEnterCogCodePopReceiverAndClassRegs
for break-pointing when debugging in C."
<api>
<inline: false>
- "(and this exists only to reference Debug)"
- Debug ifFalse: [self error: 'what??'].
"This exists only for break-pointing."
+ self cCode: [self realCEEnterCogCodePopReceiverAndClassRegs]
- self cCode: 'realCEEnterCogCodePopReceiverAndClassRegs()'
inSmalltalk: [self ceEnterCogCodePopReceiverAndClassRegs]!
Item was changed:
----- Method: StackToRegisterMappingCogit>>enterCogCodePopReceiverArg0Regs (in category 'debugging') -----
enterCogCodePopReceiverArg0Regs
"This is a static version of ceEnterCogCodePopReceiverArg0Regs
for break-pointing when debugging in C."
<api>
<inline: false>
- "(and this exists only to reference Debug)"
- Debug ifFalse: [self error: 'what??'].
"This exists only for break-pointing."
+ self cCode: [self realCEEnterCogCodePopReceiverArg0Regs]
- self cCode: 'realCEEnterCogCodePopReceiverArg0Regs()'
inSmalltalk: [self ceEnterCogCodePopReceiverArg0Regs]!
Item was changed:
----- Method: StackToRegisterMappingCogit>>enterCogCodePopReceiverArg1Arg0Regs (in category 'debugging') -----
enterCogCodePopReceiverArg1Arg0Regs
"This is a static version of ceEnterCogCodePopReceiverArg1Arg0Regs
for break-pointing when debugging in C."
<api>
<inline: false>
- "(and this exists only to reference Debug)"
- Debug ifFalse: [self error: 'what??'].
"This exists only for break-pointing."
+ self cCode: [self realCEEnterCogCodePopReceiverArg1Arg0Regs]
- self cCode: 'realCEEnterCogCodePopReceiverArg1Arg0Regs()'
inSmalltalk: [self ceEnterCogCodePopReceiverArg1Arg0Regs]!
Item was changed:
----- Method: TStmtListNode>>stream:endsWithAnyOf: (in category 'testing') -----
stream: aStream endsWithAnyOf: characters
"Answer if the given stream ends in any of the characters, ignoring whitespace."
| pos ch popped |
pos := aStream position.
aStream class = WriteStream ifTrue: "i.e. nested in StreamContents"
[[pos > 0] whileTrue:
[ch := aStream originalContents at: pos.
ch isSeparator ifFalse:
[^characters includes: ch].
pos := pos - 1].
^false].
popped := OrderedCollection new.
[pos > 0] whileTrue:
[ch := popped addFirst: (aStream position: pos - 1; peek).
ch isSeparator ifFalse:
+ [popped notEmpty ifTrue: "it almost always is"
+ ["*don't* use nextPutAll: to work around a bug in UTF8TextConverter
+ >>nextPut:toStream: which avoids line-end conversion; sigh."
+ popped do:
+ [:c| aStream nextPut: c]].
- [aStream nextPutAll: popped.
^characters includes: ch].
pos := pos - 1].
+ "*don't* use nextPutAll: to work around a bug in UTF8TextConverter>>
+ nextPut:toStream: which avoids line-end conversion; sigh."
+ popped do:
+ [:c| aStream nextPut: c].
- aStream nextPutAll: popped.
^false!
More information about the Vm-dev
mailing list