summaryrefslogtreecommitdiff
path: root/rts/Disassembler.c
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2013-01-09 14:46:03 +0000
committerSimon Marlow <marlowsd@gmail.com>2013-01-09 14:46:03 +0000
commit343548da7274cd15aaeabe72c6b37bce78e9af9c (patch)
treea8152fc67301b581efbffef2ca0974f68f9cc858 /rts/Disassembler.c
parent0c42e301337bdefa94d0c288bb6d689ac33baa4d (diff)
downloadhaskell-343548da7274cd15aaeabe72c6b37bce78e9af9c.tar.gz
fix disassembler after removal of size field in bco->instrs (#7518)
Diffstat (limited to 'rts/Disassembler.c')
-rw-r--r--rts/Disassembler.c4
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 );