X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=rts%2FDisassembler.c;h=19c121f2f1ad8c97da89fd1e8cf037da7512f526;hp=f29cce2daa43be9ae19803dd8bf4825f1d9279bf;hb=b19ba85c6ec3504a66b33243cfb43599d8c298a7;hpb=1cb0eb071f1316d6650f354166506789a2638720 diff --git a/rts/Disassembler.c b/rts/Disassembler.c index f29cce2..19c121f 100644 --- a/rts/Disassembler.c +++ b/rts/Disassembler.c @@ -41,11 +41,13 @@ disInstr ( StgBCO *bco, int pc ) StgMutArrPtrs* ptrs_arr = bco->ptrs; StgPtr* ptrs = (StgPtr*)(&ptrs_arr->payload[0]); - StgArrWords* itbls_arr = bco->itbls; - StgInfoTable** itbls = (StgInfoTable**)(&itbls_arr->payload[0]); - instr = instrs[pc++]; switch (instr) { + case bci_BRK_FUN: + debugBelch ("BRK_FUN " ); printPtr( ptrs[instrs[pc]] ); + debugBelch (" %d ", instrs[pc+1]); printPtr( ptrs[instrs[pc+2]] ); debugBelch("\n" ); + pc += 3; + break; case bci_SWIZZLE: debugBelch("SWIZZLE stkoff %d by %d\n", instrs[pc], (signed int)instrs[pc+1]); @@ -146,6 +148,9 @@ disInstr ( StgBCO *bco, int pc ) case bci_ALLOC_AP: debugBelch("ALLOC_AP %d words\n", instrs[pc] ); pc += 1; break; + case bci_ALLOC_AP_NOUPD: + debugBelch("ALLOC_AP_NOUPD %d words\n", instrs[pc] ); + pc += 1; break; case bci_ALLOC_PAP: debugBelch("ALLOC_PAP %d arity, %d words\n", instrs[pc], instrs[pc+1] ); @@ -163,7 +168,7 @@ disInstr ( StgBCO *bco, int pc ) pc += 1; break; case bci_PACK: debugBelch("PACK %d words with itbl ", instrs[pc+1] ); - printPtr( (StgPtr)itbls[instrs[pc]] ); + printPtr( (StgPtr)literals[instrs[pc]] ); debugBelch("\n"); pc += 2; break;