Fix a debug print in disassembler (#14905)
authorÖmer Sinan Ağacan <omeragacan@gmail.com>
Fri, 9 Mar 2018 12:38:58 +0000 (15:38 +0300)
committerÖmer Sinan Ağacan <omeragacan@gmail.com>
Sat, 10 Mar 2018 06:59:45 +0000 (09:59 +0300)
commit8e3410134bd7419db638988d74fcc600b03e2a1a
tree0abad7378dc4701bdb2d0e27debfd9472e8787f9
parentdd3906bf5debdb74bb8e356cede7f6ac6d770007
Fix a debug print in disassembler (#14905)

When interpreter is not profiled (see `interpreterProfiled` in
`DynFlags`) bytecode generator generates a NULL pointer as the cost
centre of a `BRK_FUN` instruction:

    let cc | interpreterProfiled dflags = cc_arr ! tick_no
           | otherwise = toRemotePtr nullPtr
    let breakInstr = BRK_FUN (fromIntegral tick_no) (getUnique this_mod) cc
    return $ breakInstr `consOL` code

We now take this into account when disassembling `BRK_FUN`.

Reviewers: bgamari, simonmar, erikd

Subscribers: rwbarton, thomie, carter

Differential Revision: https://phabricator.haskell.org/D4490
rts/Disassembler.c