diff options
Diffstat (limited to 'compiler/ghci/ByteCodeInstr.hs')
-rw-r--r-- | compiler/ghci/ByteCodeInstr.hs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/compiler/ghci/ByteCodeInstr.hs b/compiler/ghci/ByteCodeInstr.hs index 74c4f9692e..985bec4429 100644 --- a/compiler/ghci/ByteCodeInstr.hs +++ b/compiler/ghci/ByteCodeInstr.hs @@ -14,11 +14,13 @@ module ByteCodeInstr ( import ByteCodeTypes import GHCi.RemoteTypes +import GHCi.FFI (C_ffi_cif) import StgCmmLayout ( ArgRep(..) ) import PprCore import Outputable import FastString import Name +import Unique import Id import CoreSyn import Literal @@ -27,8 +29,8 @@ import VarSet import PrimOp import SMRep -import GHC.Exts import Data.Word +import GHC.Stack.CCS (CostCentre) -- ---------------------------------------------------------------------------- -- Bytecode instructions @@ -125,7 +127,7 @@ data BCInstr -- For doing calls to C (via glue code generated by libffi) | CCALL Word16 -- stack frame size - RemotePtr -- addr of the glue code + (RemotePtr C_ffi_cif) -- addr of the glue code Word16 -- whether or not the call is interruptible -- (XXX: inefficient, but I don't know -- what the alignment constraints are.) @@ -140,7 +142,7 @@ data BCInstr | RETURN_UBX ArgRep -- return an unlifted value, here's its rep -- Breakpoints - | BRK_FUN (MutableByteArray# RealWorld) Word16 BreakInfo RemotePtr + | BRK_FUN Word16 Unique (RemotePtr CostCentre) -- ----------------------------------------------------------------------------- -- Printing bytecode instructions @@ -240,7 +242,7 @@ instance Outputable BCInstr where ppr ENTER = text "ENTER" ppr RETURN = text "RETURN" ppr (RETURN_UBX pk) = text "RETURN_UBX " <+> ppr pk - ppr (BRK_FUN _breakArray index info _cc) = text "BRK_FUN" <+> text "<array>" <+> ppr index <+> ppr info <+> text "<cc>" + ppr (BRK_FUN index uniq _cc) = text "BRK_FUN" <+> ppr index <+> ppr uniq <+> text "<cc>" -- ----------------------------------------------------------------------------- -- The stack use, in words, of each bytecode insn. These _must_ be |