| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
GHC.ByteCode.Instr
Description
Bytecode instruction definitions
Synopsis
- data BCInstr
- = STKCHECK !Word
 - | PUSH_L !WordOff
 - | PUSH_LL !WordOff !WordOff
 - | PUSH_LLL !WordOff !WordOff !WordOff
 - | PUSH8 !ByteOff
 - | PUSH16 !ByteOff
 - | PUSH32 !ByteOff
 - | PUSH8_W !ByteOff
 - | PUSH16_W !ByteOff
 - | PUSH32_W !ByteOff
 - | PUSH_G Name
 - | PUSH_PRIMOP PrimOp
 - | PUSH_BCO (ProtoBCO Name)
 - | PUSH_ALTS (ProtoBCO Name) ArgRep
 - | PUSH_ALTS_TUPLE (ProtoBCO Name) !NativeCallInfo (ProtoBCO Name)
 - | PUSH_PAD8
 - | PUSH_PAD16
 - | PUSH_PAD32
 - | PUSH_UBX8 Literal
 - | PUSH_UBX16 Literal
 - | PUSH_UBX32 Literal
 - | PUSH_UBX Literal !WordOff
 - | PUSH_ADDR Name
 - | PUSH_APPLY_N
 - | PUSH_APPLY_V
 - | PUSH_APPLY_F
 - | PUSH_APPLY_D
 - | PUSH_APPLY_L
 - | PUSH_APPLY_P
 - | PUSH_APPLY_PP
 - | PUSH_APPLY_PPP
 - | PUSH_APPLY_PPPP
 - | PUSH_APPLY_PPPPP
 - | PUSH_APPLY_PPPPPP
 - | SLIDE !WordOff !WordOff
 - | ALLOC_AP !HalfWord
 - | ALLOC_AP_NOUPD !HalfWord
 - | ALLOC_PAP !HalfWord !HalfWord
 - | MKAP !WordOff !HalfWord
 - | MKPAP !WordOff !HalfWord
 - | UNPACK !WordOff
 - | PACK DataCon !WordOff
 - | LABEL LocalLabel
 - | TESTLT_I !Int LocalLabel
 - | TESTEQ_I !Int LocalLabel
 - | TESTLT_W !Word LocalLabel
 - | TESTEQ_W !Word LocalLabel
 - | TESTLT_I64 !Int64 LocalLabel
 - | TESTEQ_I64 !Int64 LocalLabel
 - | TESTLT_I32 !Int32 LocalLabel
 - | TESTEQ_I32 !Int32 LocalLabel
 - | TESTLT_I16 !Int16 LocalLabel
 - | TESTEQ_I16 !Int16 LocalLabel
 - | TESTLT_I8 !Int8 LocalLabel
 - | TESTEQ_I8 !Int16 LocalLabel
 - | TESTLT_W64 !Word64 LocalLabel
 - | TESTEQ_W64 !Word64 LocalLabel
 - | TESTLT_W32 !Word32 LocalLabel
 - | TESTEQ_W32 !Word32 LocalLabel
 - | TESTLT_W16 !Word16 LocalLabel
 - | TESTEQ_W16 !Word16 LocalLabel
 - | TESTLT_W8 !Word8 LocalLabel
 - | TESTEQ_W8 !Word8 LocalLabel
 - | TESTLT_F !Float LocalLabel
 - | TESTEQ_F !Float LocalLabel
 - | TESTLT_D !Double LocalLabel
 - | TESTEQ_D !Double LocalLabel
 - | TESTLT_P !Word16 LocalLabel
 - | TESTEQ_P !Word16 LocalLabel
 - | CASEFAIL
 - | JMP LocalLabel
 - | CCALL !WordOff (RemotePtr C_ffi_cif) !Word16
 - | PRIMCALL
 - | SWIZZLE !WordOff !Int
 - | ENTER
 - | RETURN ArgRep
 - | RETURN_TUPLE
 - | BRK_FUN !Word16 Unique (RemotePtr CostCentre)
 
 - data ProtoBCO a = ProtoBCO {
- protoBCOName :: a
 - protoBCOInstrs :: [BCInstr]
 - protoBCOBitmap :: [StgWord]
 - protoBCOBitmapSize :: Word
 - protoBCOArity :: Int
 - protoBCOExpr :: Either [CgStgAlt] CgStgRhs
 - protoBCOFFIs :: [FFIInfo]
 
 - bciStackUse :: BCInstr -> Word
 - newtype LocalLabel = LocalLabel {}
 
Documentation
Constructors
Instances
Constructors
| ProtoBCO | |
Fields 
  | |
Instances
| Outputable a => Outputable (ProtoBCO a) Source # | |
bciStackUse :: BCInstr -> Word Source #
newtype LocalLabel Source #
A local block label (e.g. identifying a case alternative).
Constructors
| LocalLabel | |
Fields  | |
Instances
| Outputable LocalLabel Source # | |
Defined in GHC.ByteCode.Instr Methods ppr :: LocalLabel -> SDoc Source #  | |
| Eq LocalLabel Source # | |
Defined in GHC.ByteCode.Instr  | |
| Ord LocalLabel Source # | |
Defined in GHC.ByteCode.Instr Methods compare :: LocalLabel -> LocalLabel -> Ordering # (<) :: LocalLabel -> LocalLabel -> Bool # (<=) :: LocalLabel -> LocalLabel -> Bool # (>) :: LocalLabel -> LocalLabel -> Bool # (>=) :: LocalLabel -> LocalLabel -> Bool # max :: LocalLabel -> LocalLabel -> LocalLabel # min :: LocalLabel -> LocalLabel -> LocalLabel #  | |