Commit 94abbcb6 authored by Ian Lynagh's avatar Ian Lynagh
Browse files

Tweaks and missing case in disassembler

parent e4137764
......@@ -31,6 +31,7 @@ int
disInstr ( StgBCO *bco, int pc )
{
int i;
StgWord16 instr;
StgWord16* instrs = (StgWord16*)(bco->instrs->payload);
......@@ -43,7 +44,8 @@ disInstr ( StgBCO *bco, int pc )
StgArrWords* itbls_arr = bco->itbls;
StgInfoTable** itbls = (StgInfoTable**)(&itbls_arr->payload[0]);
switch (instrs[pc++]) {
instr = instrs[pc++];
switch (instr) {
case bci_SWIZZLE:
debugBelch("SWIZZLE stkoff %d by %d\n",
instrs[pc], (signed int)instrs[pc+1]);
......@@ -145,13 +147,17 @@ disInstr ( StgBCO *bco, int pc )
debugBelch("ALLOC_AP %d words\n", instrs[pc] );
pc += 1; break;
case bci_ALLOC_PAP:
debugBelch("ALLOC_PAP %d words, %d arity\n",
debugBelch("ALLOC_PAP %d arity, %d words\n",
instrs[pc], instrs[pc+1] );
pc += 2; break;
case bci_MKAP:
debugBelch("MKAP %d words, %d stkoff\n", instrs[pc+1],
instrs[pc] );
pc += 2; break;
case bci_MKPAP:
debugBelch("MKPAP %d words, %d stkoff\n", instrs[pc+1],
instrs[pc] );
pc += 2; break;
case bci_UNPACK:
debugBelch("UNPACK %d\n", instrs[pc] );
pc += 1; break;
......@@ -230,7 +236,7 @@ disInstr ( StgBCO *bco, int pc )
break;
default:
barf("disInstr: unknown opcode");
barf("disInstr: unknown opcode %u", (unsigned int) instr);
}
return pc;
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment