diff options
-rw-r--r-- | rts/Disassembler.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/rts/Disassembler.c b/rts/Disassembler.c index bcc085803a..44f487da89 100644 --- a/rts/Disassembler.c +++ b/rts/Disassembler.c @@ -283,11 +283,11 @@ void disassemble( StgBCO *bco ) nat i, j; StgWord16* instrs = (StgWord16*)(bco->instrs->payload); StgMutArrPtrs* ptrs = bco->ptrs; - nat nbcs = (int)instrs[0]; + nat nbcs = (int)(bco->instrs->bytes / sizeof(StgWord16)); nat pc = 1; debugBelch("BCO\n" ); - pc = 1; + pc = 0; while (pc <= nbcs) { debugBelch("\t%2d: ", pc ); pc = disInstr ( bco, pc ); |