Safe Haskell | None |
---|---|
Language | GHC2021 |
Synopsis
- data StgReg
- = R1
- | R2
- | R3
- | R4
- | R5
- | R6
- | R7
- | R8
- | R9
- | R10
- | R11
- | R12
- | R13
- | R14
- | R15
- | R16
- | R17
- | R18
- | R19
- | R20
- | R21
- | R22
- | R23
- | R24
- | R25
- | R26
- | R27
- | R28
- | R29
- | R30
- | R31
- | R32
- | R33
- | R34
- | R35
- | R36
- | R37
- | R38
- | R39
- | R40
- | R41
- | R42
- | R43
- | R44
- | R45
- | R46
- | R47
- | R48
- | R49
- | R50
- | R51
- | R52
- | R53
- | R54
- | R55
- | R56
- | R57
- | R58
- | R59
- | R60
- | R61
- | R62
- | R63
- | R64
- | R65
- | R66
- | R67
- | R68
- | R69
- | R70
- | R71
- | R72
- | R73
- | R74
- | R75
- | R76
- | R77
- | R78
- | R79
- | R80
- | R81
- | R82
- | R83
- | R84
- | R85
- | R86
- | R87
- | R88
- | R89
- | R90
- | R91
- | R92
- | R93
- | R94
- | R95
- | R96
- | R97
- | R98
- | R99
- | R100
- | R101
- | R102
- | R103
- | R104
- | R105
- | R106
- | R107
- | R108
- | R109
- | R110
- | R111
- | R112
- | R113
- | R114
- | R115
- | R116
- | R117
- | R118
- | R119
- | R120
- | R121
- | R122
- | R123
- | R124
- | R125
- | R126
- | R127
- | R128
- data Special
- sp :: JStgExpr
- stack :: JStgExpr
- r1 :: JStgExpr
- r2 :: JStgExpr
- r3 :: JStgExpr
- r4 :: JStgExpr
- regsFromR1 :: [StgReg]
- regsFromR2 :: [StgReg]
- jsRegsFromR1 :: [JStgExpr]
- jsRegsFromR2 :: [JStgExpr]
- data StgRet
- jsRegToInt :: StgReg -> Int
- intToJSReg :: Int -> StgReg
- jsReg :: Int -> JStgExpr
- maxReg :: Int
- minReg :: Int
- lowRegs :: [Ident]
- retRegs :: [Ident]
- register :: StgReg -> JStgExpr
- foreignRegister :: StgRet -> JStgExpr
Documentation
General purpose "registers"
The JS backend arbitrarily supports 128 registers
R1 | |
R2 | |
R3 | |
R4 | |
R5 | |
R6 | |
R7 | |
R8 | |
R9 | |
R10 | |
R11 | |
R12 | |
R13 | |
R14 | |
R15 | |
R16 | |
R17 | |
R18 | |
R19 | |
R20 | |
R21 | |
R22 | |
R23 | |
R24 | |
R25 | |
R26 | |
R27 | |
R28 | |
R29 | |
R30 | |
R31 | |
R32 | |
R33 | |
R34 | |
R35 | |
R36 | |
R37 | |
R38 | |
R39 | |
R40 | |
R41 | |
R42 | |
R43 | |
R44 | |
R45 | |
R46 | |
R47 | |
R48 | |
R49 | |
R50 | |
R51 | |
R52 | |
R53 | |
R54 | |
R55 | |
R56 | |
R57 | |
R58 | |
R59 | |
R60 | |
R61 | |
R62 | |
R63 | |
R64 | |
R65 | |
R66 | |
R67 | |
R68 | |
R69 | |
R70 | |
R71 | |
R72 | |
R73 | |
R74 | |
R75 | |
R76 | |
R77 | |
R78 | |
R79 | |
R80 | |
R81 | |
R82 | |
R83 | |
R84 | |
R85 | |
R86 | |
R87 | |
R88 | |
R89 | |
R90 | |
R91 | |
R92 | |
R93 | |
R94 | |
R95 | |
R96 | |
R97 | |
R98 | |
R99 | |
R100 | |
R101 | |
R102 | |
R103 | |
R104 | |
R105 | |
R106 | |
R107 | |
R108 | |
R109 | |
R110 | |
R111 | |
R112 | |
R113 | |
R114 | |
R115 | |
R116 | |
R117 | |
R118 | |
R119 | |
R120 | |
R121 | |
R122 | |
R123 | |
R124 | |
R125 | |
R126 | |
R127 | |
R128 |
regsFromR1 :: [StgReg] Source #
List of registers, starting from R1
regsFromR2 :: [StgReg] Source #
List of registers, starting from R2
jsRegsFromR1 :: [JStgExpr] Source #
List of registers, starting from R1 as JStgExpr
jsRegsFromR2 :: [JStgExpr] Source #
List of registers, starting from R2 as JExpr
Return registers
Extra results from foreign calls can be stored here (while first result is directly returned)
jsRegToInt :: StgReg -> Int Source #
intToJSReg :: Int -> StgReg Source #
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