@@ -139,7 +139,7 @@ func Disassemble(fn wasm.Function, module *wasm.Module) (*Disassembly, error) {
139139 instr .Unreachable = ! isInstrReachable (blockPolymorphicOps )
140140 }
141141
142- logger .Printf ("op: %s, ureachable : %v" , opStr .Name , instr .Unreachable )
142+ logger .Printf ("op: %s, unreachable : %v" , opStr .Name , instr .Unreachable )
143143 if ! opStr .Polymorphic && ! instr .Unreachable {
144144 top := int (stackDepths .Top ())
145145 top -= len (opStr .Args )
@@ -211,10 +211,12 @@ func Disassemble(fn wasm.Function, module *wasm.Module) (*Disassembly, error) {
211211 StackTopDiff : int64 (elemsDiscard ),
212212 PreserveTop : blockSig != wasm .BlockTypeEmpty ,
213213 }
214+ logger .Printf ("discard %d elements, preserve top: %v" , elemsDiscard , instr .NewStack .PreserveTop )
214215 } else {
215216 instr .NewStack = & StackInfo {}
216217 }
217218
219+ logger .Printf ("setting new stack for %s block (%d)" , disas .Code [blockStartIndex ].Op .Name , blockStartIndex )
218220 disas .Code [blockStartIndex ].NewStack = instr .NewStack
219221 if ! instr .Unreachable {
220222 blockPolymorphicOps = blockPolymorphicOps [:len (blockPolymorphicOps )- 1 ]
@@ -457,5 +459,9 @@ func Disassemble(fn wasm.Function, module *wasm.Module) (*Disassembly, error) {
457459 curIndex ++
458460 }
459461
462+ for _ , instr := range disas .Code {
463+ logger .Printf ("%v %v" , instr .Op .Name , instr .NewStack )
464+ }
465+
460466 return disas , nil
461467}
0 commit comments