Safe Haskell | None |
---|---|
Language | GHC2021 |
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 (ForeignRef BreakArray) (RemotePtr ModuleName) !Word16 (RemotePtr ModuleName) !Word16 (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
Instances
ProtoBCO | |
|
Instances
Outputable a => Outputable (ProtoBCO a) Source # | |
bciStackUse :: BCInstr -> Word Source #
newtype LocalLabel Source #
A local block label (e.g. identifying a case alternative).
Instances
Outputable LocalLabel Source # | |
Defined in GHC.ByteCode.Instr ppr :: LocalLabel -> SDoc Source # | |
Eq LocalLabel Source # | |
Defined in GHC.ByteCode.Instr (==) :: LocalLabel -> LocalLabel -> Bool # (/=) :: LocalLabel -> LocalLabel -> Bool # | |
Ord LocalLabel Source # | |
Defined in GHC.ByteCode.Instr compare :: LocalLabel -> LocalLabel -> Ordering # (<) :: LocalLabel -> LocalLabel -> Bool # (<=) :: LocalLabel -> LocalLabel -> Bool # (>) :: LocalLabel -> LocalLabel -> Bool # (>=) :: LocalLabel -> LocalLabel -> Bool # max :: LocalLabel -> LocalLabel -> LocalLabel # min :: LocalLabel -> LocalLabel -> LocalLabel # |