ghc-9.15: The GHC API
Safe HaskellNone
LanguageGHC2024

GHC.StgToJS.Regs

Synopsis

Documentation

newtype StgReg Source #

General purpose "registers"

Constructors

StgReg Int 

Instances

Instances details
ToJExpr StgReg Source # 
Instance details

Defined in GHC.StgToJS.Regs

Eq StgReg Source # 
Instance details

Defined in GHC.StgToJS.Regs

Ord StgReg Source # 
Instance details

Defined in GHC.StgToJS.Regs

Ix StgReg Source # 
Instance details

Defined in GHC.StgToJS.Regs

data Special Source #

Stack registers

Constructors

Stack 
Sp 

Instances

Instances details
ToJExpr Special Source # 
Instance details

Defined in GHC.StgToJS.Regs

Eq Special Source # 
Instance details

Defined in GHC.StgToJS.Regs

Show Special Source # 
Instance details

Defined in GHC.StgToJS.Regs

pattern R1 :: StgReg Source #

pattern R2 :: StgReg Source #

pattern R3 :: StgReg Source #

pattern R4 :: StgReg Source #

regsFromR1 :: [StgReg] Source #

List of registers, starting from R1

regsFromR2 :: [StgReg] Source #

List of registers, starting from R2

jsRegsFrom :: StgReg -> [JStgExpr] Source #

List of registers, starting from given reg as JExpr

jsRegsFromR1 :: [JStgExpr] Source #

List of registers, starting from R1 as JStgExpr

jsRegsFromR2 :: [JStgExpr] Source #

List of registers, starting from R2 as JExpr

data StgRet Source #

Return registers

Extra results from foreign calls can be stored here (while first result is directly returned)

Constructors

Ret1 
Ret2 
Ret3 
Ret4 
Ret5 
Ret6 
Ret7 
Ret8 
Ret9 
Ret10 

Instances

Instances details
ToJExpr StgRet Source # 
Instance details

Defined in GHC.StgToJS.Regs

Eq StgRet Source # 
Instance details

Defined in GHC.StgToJS.Regs

Ord StgRet Source # 
Instance details

Defined in GHC.StgToJS.Regs

Bounded StgRet Source # 
Instance details

Defined in GHC.StgToJS.Regs

Enum StgRet Source # 
Instance details

Defined in GHC.StgToJS.Regs

Ix StgRet Source # 
Instance details

Defined in GHC.StgToJS.Regs

Show StgRet Source # 
Instance details

Defined in GHC.StgToJS.Regs

regNumber :: StgReg -> Int Source #

1-indexed register number (R1 has index 1)

jsReg :: Int -> JStgExpr Source #

Register expression from its 1-indexed index

highReg :: Int -> JStgExpr Source #

High register

highReg_expr :: JStgExpr -> JStgExpr Source #

High register indexing with a JS expression

minHighReg :: StgReg Source #

First register stored in h$regs array instead of having its own top-level variable

register :: StgReg -> JStgExpr Source #

Given a register, return the JS syntax object representing that register

foreignRegister :: StgRet -> JStgExpr Source #

Given a register, return the JS syntax object representing that register