[squeak-dev] Halt and Failures in DecompilerTests

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Fri Jan 17 12:35:36 UTC 2020


Hi,


while running all tests in Tests-Compiler in my image, I get the following error (attached below).

What does this Halt in production code mean? Has there been an assertion violated? Is this really a good coding style?


(By the way, I also get two timeouts for the tests #testAllNodePCsAreBytecodesIn{Kernel,Morphic} - in a fresh #19256 image. And I found this:

[cid:c4fe43d3-c3f7-496d-a2ea-d15c2c9a7c68])


Best,

Christoph



The Halt trace:


17 January 2020 1:18:59.214813 pm

VM: Win32 - Smalltalk
Image: Squeak5.3beta [latest update: #19320]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir C:\Users\Christoph\OneDrive\Dokumente\Squeak
Trusted Dir C:\Users\Christoph\OneDrive\Dokumente\Squeak\Christoph
Untrusted Dir C:\Users\Christoph\OneDrive\Dokumente\My Squeak

Decompiler (Object) >> #halt
Receiver: a Decompiler
Arguments and temporary variables:

Receiver's instance variables:
sender: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
pc: 209
constructor: {a DecompilerConstructor}
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
instVars: {nil . nil . {submorphs} . nil . nil . nil . nil . nil . nil . nil . ...etc...
tempVars: {{each} . {newScript} . {_r3} . {data}}
constTable: {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
stack: an OrderedCollection()
statements: an OrderedCollection({self fixup} {newScript := OrderedCollection new...etc...
lastPc: 208
exit: nil
caseExits: an OrderedCollection()
lastJumpPc: nil
lastReturnPc: nil
limit: 251
hasValue: nil
blockStackBase: 0
numLocalTemps: 1
blockStartsToTempVars: a Dictionary(169->{{newScript} . {_r2}} 192->{{each} . {...etc...
tempVarCount: 6
lastJumpIfPcStack: an OrderedCollection(196 203)
tempReadCounts: a Dictionary({_r2}->1 {each}->1 {newScript}->1 )

Decompiler >> #pushTemporaryVariable:
Receiver: a Decompiler
Arguments and temporary variables:
offset: 4
node: nil
Receiver's instance variables:
sender: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
pc: 209
constructor: {a DecompilerConstructor}
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
instVars: {nil . nil . {submorphs} . nil . nil . nil . nil . nil . nil . nil . ...etc...
tempVars: {{each} . {newScript} . {_r3} . {data}}
constTable: {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
stack: an OrderedCollection()
statements: an OrderedCollection({self fixup} {newScript := OrderedCollection new...etc...
lastPc: 208
exit: nil
caseExits: an OrderedCollection()
lastJumpPc: nil
lastReturnPc: nil
limit: 251
hasValue: nil
blockStackBase: 0
numLocalTemps: 1
blockStartsToTempVars: a Dictionary(169->{{newScript} . {_r2}} 192->{{each} . {...etc...
tempVarCount: 6
lastJumpIfPcStack: an OrderedCollection(196 203)
tempReadCounts: a Dictionary({_r2}->1 {each}->1 {newScript}->1 )

Decompiler (InstructionStream) >> #interpretNextV3ClosuresInstructionFor:
Receiver: a Decompiler
Arguments and temporary variables:
client: a Decompiler
byte: 20
type: 1
offset: 4
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
Receiver's instance variables:
sender: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
pc: 209
constructor: {a DecompilerConstructor}
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
instVars: {nil . nil . {submorphs} . nil . nil . nil . nil . nil . nil . nil . ...etc...
tempVars: {{each} . {newScript} . {_r3} . {data}}
constTable: {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
stack: an OrderedCollection()
statements: an OrderedCollection({self fixup} {newScript := OrderedCollection new...etc...
lastPc: 208
exit: nil
caseExits: an OrderedCollection()
lastJumpPc: nil
lastReturnPc: nil
limit: 251
hasValue: nil
blockStackBase: 0
numLocalTemps: 1
blockStartsToTempVars: a Dictionary(169->{{newScript} . {_r2}} 192->{{each} . {...etc...
tempVarCount: 6
lastJumpIfPcStack: an OrderedCollection(196 203)
tempReadCounts: a Dictionary({_r2}->1 {each}->1 {newScript}->1 )

EncoderForV3PlusClosures class >> #interpretNextInstructionFor:in:
Receiver: EncoderForV3PlusClosures
Arguments and temporary variables:
aClient: a Decompiler
anInstructionStream: a Decompiler
Receiver's instance variables:
superclass: EncoderForV3
methodDict: a MethodDictionary(#genCallPrimitive:->(EncoderForV3PlusClosures>>#...etc...
format: 65559
instanceVariables: nil
organization: ('bytecode generation' genCallPrimitive: genPushClosureCopyNumCopiedValues:numArgs:jumpSize:...etc...
subclasses: {ScriptEncoder}
name: #EncoderForV3PlusClosures
classPool: nil
sharedPools: nil
environment: Smalltalk
category: #'Compiler-Kernel'

Decompiler >> #statementsTo:
Receiver: a Decompiler
Arguments and temporary variables:
end: 251
encoderClass: EncoderForV3PlusClosures
blockPos: 3
stackPos: 0
localLastPC: 208
Receiver's instance variables:
sender: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
pc: 209
constructor: {a DecompilerConstructor}
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
instVars: {nil . nil . {submorphs} . nil . nil . nil . nil . nil . nil . nil . ...etc...
tempVars: {{each} . {newScript} . {_r3} . {data}}
constTable: {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
stack: an OrderedCollection()
statements: an OrderedCollection({self fixup} {newScript := OrderedCollection new...etc...
lastPc: 208
exit: nil
caseExits: an OrderedCollection()
lastJumpPc: nil
lastReturnPc: nil
limit: 251
hasValue: nil
blockStackBase: 0
numLocalTemps: 1
blockStartsToTempVars: a Dictionary(169->{{newScript} . {_r2}} 192->{{each} . {...etc...
tempVarCount: 6
lastJumpIfPcStack: an OrderedCollection(196 203)
tempReadCounts: a Dictionary({_r2}->1 {each}->1 {newScript}->1 )

Decompiler >> #blockTo:
Receiver: a Decompiler
Arguments and temporary variables:
end: 251
exprs: nil
block: nil
oldBase: 0
lastStatementOfBlockIsNil: nil
Receiver's instance variables:
sender: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
pc: 209
constructor: {a DecompilerConstructor}
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
instVars: {nil . nil . {submorphs} . nil . nil . nil . nil . nil . nil . nil . ...etc...
tempVars: {{each} . {newScript} . {_r3} . {data}}
constTable: {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
stack: an OrderedCollection()
statements: an OrderedCollection({self fixup} {newScript := OrderedCollection new...etc...
lastPc: 208
exit: nil
caseExits: an OrderedCollection()
lastJumpPc: nil
lastReturnPc: nil
limit: 251
hasValue: nil
blockStackBase: 0
numLocalTemps: 1
blockStartsToTempVars: a Dictionary(169->{{newScript} . {_r2}} 192->{{each} . {...etc...
tempVarCount: 6
lastJumpIfPcStack: an OrderedCollection(196 203)
tempReadCounts: a Dictionary({_r2}->1 {each}->1 {newScript}->1 )

Decompiler >> #jump:if:
Receiver: a Decompiler
Arguments and temporary variables:
dist: 46
condition: true
savePc: 205
sign: true
elsePc: 203
elseStart: 251
end: 255
cond: nil
ifExpr: {prevMark == nil}
thenBlock: nil
elseBlock: nil
thenJump: nil
elseJump: nil
condHasValue: nil
isIfNil: false
saveStack: an OrderedCollection()
elseDist: nil
blockBody: nil
blockArgs: nil
savedReadCounts: nil
blockBodyReadCounts: nil
selector: nil
Receiver's instance variables:
sender: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
pc: 209
constructor: {a DecompilerConstructor}
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
instVars: {nil . nil . {submorphs} . nil . nil . nil . nil . nil . nil . nil . ...etc...
tempVars: {{each} . {newScript} . {_r3} . {data}}
constTable: {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
stack: an OrderedCollection()
statements: an OrderedCollection({self fixup} {newScript := OrderedCollection new...etc...
lastPc: 208
exit: nil
caseExits: an OrderedCollection()
lastJumpPc: nil
lastReturnPc: nil
limit: 251
hasValue: nil
blockStackBase: 0
numLocalTemps: 1
blockStartsToTempVars: a Dictionary(169->{{newScript} . {_r2}} 192->{{each} . {...etc...
tempVarCount: 6
lastJumpIfPcStack: an OrderedCollection(196 203)
tempReadCounts: a Dictionary({_r2}->1 {each}->1 {newScript}->1 )

Decompiler (InstructionStream) >> #interpretNextV3ClosuresInstructionFor:
Receiver: a Decompiler
Arguments and temporary variables:
client: a Decompiler
byte: 46
type: 10
offset: 8
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
Receiver's instance variables:
sender: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
pc: 209
constructor: {a DecompilerConstructor}
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
instVars: {nil . nil . {submorphs} . nil . nil . nil . nil . nil . nil . nil . ...etc...
tempVars: {{each} . {newScript} . {_r3} . {data}}
constTable: {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
stack: an OrderedCollection()
statements: an OrderedCollection({self fixup} {newScript := OrderedCollection new...etc...
lastPc: 208
exit: nil
caseExits: an OrderedCollection()
lastJumpPc: nil
lastReturnPc: nil
limit: 251
hasValue: nil
blockStackBase: 0
numLocalTemps: 1
blockStartsToTempVars: a Dictionary(169->{{newScript} . {_r2}} 192->{{each} . {...etc...
tempVarCount: 6
lastJumpIfPcStack: an OrderedCollection(196 203)
tempReadCounts: a Dictionary({_r2}->1 {each}->1 {newScript}->1 )

EncoderForV3PlusClosures class >> #interpretNextInstructionFor:in:
Receiver: EncoderForV3PlusClosures
Arguments and temporary variables:
aClient: a Decompiler
anInstructionStream: a Decompiler
Receiver's instance variables:
superclass: EncoderForV3
methodDict: a MethodDictionary(#genCallPrimitive:->(EncoderForV3PlusClosures>>#...etc...
format: 65559
instanceVariables: nil
organization: ('bytecode generation' genCallPrimitive: genPushClosureCopyNumCopiedValues:numArgs:jumpSize:...etc...
subclasses: {ScriptEncoder}
name: #EncoderForV3PlusClosures
classPool: nil
sharedPools: nil
environment: Smalltalk
category: #'Compiler-Kernel'

Decompiler >> #statementsTo:
Receiver: a Decompiler
Arguments and temporary variables:
end: 255
encoderClass: EncoderForV3PlusClosures
blockPos: 3
stackPos: 0
localLastPC: 203
Receiver's instance variables:
sender: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
pc: 209
constructor: {a DecompilerConstructor}
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
instVars: {nil . nil . {submorphs} . nil . nil . nil . nil . nil . nil . nil . ...etc...
tempVars: {{each} . {newScript} . {_r3} . {data}}
constTable: {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
stack: an OrderedCollection()
statements: an OrderedCollection({self fixup} {newScript := OrderedCollection new...etc...
lastPc: 208
exit: nil
caseExits: an OrderedCollection()
lastJumpPc: nil
lastReturnPc: nil
limit: 251
hasValue: nil
blockStackBase: 0
numLocalTemps: 1
blockStartsToTempVars: a Dictionary(169->{{newScript} . {_r2}} 192->{{each} . {...etc...
tempVarCount: 6
lastJumpIfPcStack: an OrderedCollection(196 203)
tempReadCounts: a Dictionary({_r2}->1 {each}->1 {newScript}->1 )

Decompiler >> #blockTo:
Receiver: a Decompiler
Arguments and temporary variables:
end: 255
exprs: nil
block: nil
oldBase: 1
lastStatementOfBlockIsNil: nil
Receiver's instance variables:
sender: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
pc: 209
constructor: {a DecompilerConstructor}
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
instVars: {nil . nil . {submorphs} . nil . nil . nil . nil . nil . nil . nil . ...etc...
tempVars: {{each} . {newScript} . {_r3} . {data}}
constTable: {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
stack: an OrderedCollection()
statements: an OrderedCollection({self fixup} {newScript := OrderedCollection new...etc...
lastPc: 208
exit: nil
caseExits: an OrderedCollection()
lastJumpPc: nil
lastReturnPc: nil
limit: 251
hasValue: nil
blockStackBase: 0
numLocalTemps: 1
blockStartsToTempVars: a Dictionary(169->{{newScript} . {_r2}} 192->{{each} . {...etc...
tempVarCount: 6
lastJumpIfPcStack: an OrderedCollection(196 203)
tempReadCounts: a Dictionary({_r2}->1 {each}->1 {newScript}->1 )

Decompiler >> #jump:if:
Receiver: a Decompiler
Arguments and temporary variables:
dist: 57
condition: false
savePc: 198
sign: false
elsePc: 196
elseStart: 255
end: 267
cond: nil
ifExpr: {each isKindOf: ZASMCameraMarkMorph}
thenBlock: nil
elseBlock: nil
thenJump: nil
elseJump: nil
condHasValue: nil
isIfNil: false
saveStack: an OrderedCollection({submorphs})
elseDist: nil
blockBody: nil
blockArgs: nil
savedReadCounts: nil
blockBodyReadCounts: nil
selector: nil
Receiver's instance variables:
sender: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
pc: 209
constructor: {a DecompilerConstructor}
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
instVars: {nil . nil . {submorphs} . nil . nil . nil . nil . nil . nil . nil . ...etc...
tempVars: {{each} . {newScript} . {_r3} . {data}}
constTable: {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
stack: an OrderedCollection()
statements: an OrderedCollection({self fixup} {newScript := OrderedCollection new...etc...
lastPc: 208
exit: nil
caseExits: an OrderedCollection()
lastJumpPc: nil
lastReturnPc: nil
limit: 251
hasValue: nil
blockStackBase: 0
numLocalTemps: 1
blockStartsToTempVars: a Dictionary(169->{{newScript} . {_r2}} 192->{{each} . {...etc...
tempVarCount: 6
lastJumpIfPcStack: an OrderedCollection(196 203)
tempReadCounts: a Dictionary({_r2}->1 {each}->1 {newScript}->1 )

Decompiler (InstructionStream) >> #interpretNextV3ClosuresInstructionFor:
Receiver: a Decompiler
Arguments and temporary variables:
client: a Decompiler
byte: 57
type: 10
offset: 12
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
Receiver's instance variables:
sender: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
pc: 209
constructor: {a DecompilerConstructor}
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
instVars: {nil . nil . {submorphs} . nil . nil . nil . nil . nil . nil . nil . ...etc...
tempVars: {{each} . {newScript} . {_r3} . {data}}
constTable: {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
stack: an OrderedCollection()
statements: an OrderedCollection({self fixup} {newScript := OrderedCollection new...etc...
lastPc: 208
exit: nil
caseExits: an OrderedCollection()
lastJumpPc: nil
lastReturnPc: nil
limit: 251
hasValue: nil
blockStackBase: 0
numLocalTemps: 1
blockStartsToTempVars: a Dictionary(169->{{newScript} . {_r2}} 192->{{each} . {...etc...
tempVarCount: 6
lastJumpIfPcStack: an OrderedCollection(196 203)
tempReadCounts: a Dictionary({_r2}->1 {each}->1 {newScript}->1 )

EncoderForV3PlusClosures class >> #interpretNextInstructionFor:in:
Receiver: EncoderForV3PlusClosures
Arguments and temporary variables:
aClient: a Decompiler
anInstructionStream: a Decompiler
Receiver's instance variables:
superclass: EncoderForV3
methodDict: a MethodDictionary(#genCallPrimitive:->(EncoderForV3PlusClosures>>#...etc...
format: 65559
instanceVariables: nil
organization: ('bytecode generation' genCallPrimitive: genPushClosureCopyNumCopiedValues:numArgs:jumpSize:...etc...
subclasses: {ScriptEncoder}
name: #EncoderForV3PlusClosures
classPool: nil
sharedPools: nil
environment: Smalltalk
category: #'Compiler-Kernel'

Decompiler >> #statementsTo:
Receiver: a Decompiler
Arguments and temporary variables:
end: 267
encoderClass: EncoderForV3PlusClosures
blockPos: 3
stackPos: 1
localLastPC: 196
Receiver's instance variables:
sender: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
pc: 209
constructor: {a DecompilerConstructor}
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
instVars: {nil . nil . {submorphs} . nil . nil . nil . nil . nil . nil . nil . ...etc...
tempVars: {{each} . {newScript} . {_r3} . {data}}
constTable: {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
stack: an OrderedCollection()
statements: an OrderedCollection({self fixup} {newScript := OrderedCollection new...etc...
lastPc: 208
exit: nil
caseExits: an OrderedCollection()
lastJumpPc: nil
lastReturnPc: nil
limit: 251
hasValue: nil
blockStackBase: 0
numLocalTemps: 1
blockStartsToTempVars: a Dictionary(169->{{newScript} . {_r2}} 192->{{each} . {...etc...
tempVarCount: 6
lastJumpIfPcStack: an OrderedCollection(196 203)
tempReadCounts: a Dictionary({_r2}->1 {each}->1 {newScript}->1 )

Decompiler >> #blockTo:
Receiver: a Decompiler
Arguments and temporary variables:
end: 267
exprs: nil
block: nil
oldBase: 0
lastStatementOfBlockIsNil: nil
Receiver's instance variables:
sender: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
pc: 209
constructor: {a DecompilerConstructor}
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
instVars: {nil . nil . {submorphs} . nil . nil . nil . nil . nil . nil . nil . ...etc...
tempVars: {{each} . {newScript} . {_r3} . {data}}
constTable: {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
stack: an OrderedCollection()
statements: an OrderedCollection({self fixup} {newScript := OrderedCollection new...etc...
lastPc: 208
exit: nil
caseExits: an OrderedCollection()
lastJumpPc: nil
lastReturnPc: nil
limit: 251
hasValue: nil
blockStackBase: 0
numLocalTemps: 1
blockStartsToTempVars: a Dictionary(169->{{newScript} . {_r2}} 192->{{each} . {...etc...
tempVarCount: 6
lastJumpIfPcStack: an OrderedCollection(196 203)
tempReadCounts: a Dictionary({_r2}->1 {each}->1 {newScript}->1 )

Decompiler >> #doClosureCopyCopiedValues:numArgs:blockSize:
Receiver: a Decompiler
Arguments and temporary variables:
blockCopiedValues: {{newScript} . {_r2}}
numArgs: 1
blockSize: 75
startpc: 192
savedTemps: {{newScript} . {_r2}}
savedTempVarCount: 4
savedNumLocalTemps: 0
jump: 267
blockArgs: nil
blockTemps: nil
blockTempsOffset: 3
block: nil
Receiver's instance variables:
sender: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
pc: 209
constructor: {a DecompilerConstructor}
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
instVars: {nil . nil . {submorphs} . nil . nil . nil . nil . nil . nil . nil . ...etc...
tempVars: {{each} . {newScript} . {_r3} . {data}}
constTable: {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
stack: an OrderedCollection()
statements: an OrderedCollection({self fixup} {newScript := OrderedCollection new...etc...
lastPc: 208
exit: nil
caseExits: an OrderedCollection()
lastJumpPc: nil
lastReturnPc: nil
limit: 251
hasValue: nil
blockStackBase: 0
numLocalTemps: 1
blockStartsToTempVars: a Dictionary(169->{{newScript} . {_r2}} 192->{{each} . {...etc...
tempVarCount: 6
lastJumpIfPcStack: an OrderedCollection(196 203)
tempReadCounts: a Dictionary({_r2}->1 {each}->1 {newScript}->1 )

Decompiler >> #pushClosureCopyNumCopiedValues:numArgs:blockSize:
Receiver: a Decompiler
Arguments and temporary variables:
numCopied: 2
numArgs: 1
blockSize: 75
copiedValues: {{newScript} . {_r2}}
Receiver's instance variables:
sender: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
pc: 209
constructor: {a DecompilerConstructor}
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
instVars: {nil . nil . {submorphs} . nil . nil . nil . nil . nil . nil . nil . ...etc...
tempVars: {{each} . {newScript} . {_r3} . {data}}
constTable: {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
stack: an OrderedCollection()
statements: an OrderedCollection({self fixup} {newScript := OrderedCollection new...etc...
lastPc: 208
exit: nil
caseExits: an OrderedCollection()
lastJumpPc: nil
lastReturnPc: nil
limit: 251
hasValue: nil
blockStackBase: 0
numLocalTemps: 1
blockStartsToTempVars: a Dictionary(169->{{newScript} . {_r2}} 192->{{each} . {...etc...
tempVarCount: 6
lastJumpIfPcStack: an OrderedCollection(196 203)
tempReadCounts: a Dictionary({_r2}->1 {each}->1 {newScript}->1 )

Decompiler (InstructionStream) >> #interpretV3ClosuresExtension:in:for:
Receiver: a Decompiler
Arguments and temporary variables:
offset: 15
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
client: a Decompiler
type: nil
offset2: nil
byte2: 33
byte3: 0
byte4: 75
Receiver's instance variables:
sender: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
pc: 209
constructor: {a DecompilerConstructor}
method: (ZASMScriptMorph>>#compileScript "a CompiledMethod(2630560)")
instVars: {nil . nil . {submorphs} . nil . nil . nil . nil . nil . nil . nil . ...etc...
tempVars: {{each} . {newScript} . {_r3} . {data}}
constTable: {{self} . {true} . {false} . {nil} . {-1} . {0} . {1} . {2}}
stack: an OrderedCollection()
statements: an OrderedCollection({self fixup} {newScript := OrderedCollection new...etc...
lastPc: 208
exit: nil
caseExits: an OrderedCollection()
lastJumpPc: nil
lastReturnPc: nil
limit: 251
hasValue: nil
blockStackBase: 0
numLocalTemps: 1
blockStartsToTempVars: a Dictionary(169->{{newScript} . {_r2}} 192->{{each} . {...etc...
tempVarCount: 6
lastJumpIfPcStack: an OrderedCollection(196 203)
tempReadCounts: a Dictionary({_r2}->1 {each}->1 {newScript}->1 )


--- The full stack ---
Decompiler (Object) >> #halt
Decompiler >> #pushTemporaryVariable:
Decompiler (InstructionStream) >> #interpretNextV3ClosuresInstructionFor:
EncoderForV3PlusClosures class >> #interpretNextInstructionFor:in:
Decompiler >> #statementsTo:
Decompiler >> #blockTo:
Decompiler >> #jump:if:
Decompiler (InstructionStream) >> #interpretNextV3ClosuresInstructionFor:
EncoderForV3PlusClosures class >> #interpretNextInstructionFor:in:
Decompiler >> #statementsTo:
Decompiler >> #blockTo:
Decompiler >> #jump:if:
Decompiler (InstructionStream) >> #interpretNextV3ClosuresInstructionFor:
EncoderForV3PlusClosures class >> #interpretNextInstructionFor:in:
Decompiler >> #statementsTo:
Decompiler >> #blockTo:
Decompiler >> #doClosureCopyCopiedValues:numArgs:blockSize:
Decompiler >> #pushClosureCopyNumCopiedValues:numArgs:blockSize:
Decompiler (InstructionStream) >> #interpretV3ClosuresExtension:in:for:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Decompiler (InstructionStream) >> #interpretNextV3ClosuresInstructionFor:
EncoderForV3PlusClosures class >> #interpretNextInstructionFor:in:
Decompiler >> #statementsTo:
Decompiler >> #blockTo:
Decompiler >> #decompile:in:method:using:
Decompiler >> #decompile:in:method:
DecompilerTests >> #checkDecompileMethod:
[] in [] in [] in DecompilerTests >> #decompileClassesSelect:
MethodDictionary >> #keysAndValuesDo:
ZASMScriptMorph class (Behavior) >> #selectorsAndMethodsDo:
[] in [] in DecompilerTests >> #decompileClassesSelect:
Array (SequenceableCollection) >> #do:
[] in DecompilerTests >> #decompileClassesSelect:
BlockClosure >> #on:do:
CurrentReadOnlySourceFiles class >> #cacheDuring:
DecompilerTests >> #decompileClassesSelect:
DecompilerTests >> #testDecompilerInClassesZAtoZM
-- and more not shown --


<http://www.hpi.de/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200117/5d306047/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedImage.png
Type: image/png
Size: 30290 bytes
Desc: pastedImage.png
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200117/5d306047/attachment-0001.png>


More information about the Squeak-dev mailing list