ghc-lib-9.6.3.20231014: The GHC API, decoupled from GHC versions
Copyright(c) The University of Glasgow 2001
LicenseBSD-style (see the file LICENSE)
MaintainerJeffrey Young <jeffrey.young@iohk.io> Luite Stegeman <luite.stegeman@iohk.io> Sylvain Henry <sylvain.henry@iohk.io> Josh Meredith <josh.meredith@iohk.io>
Stabilityexperimental
Safe HaskellSafe-Inferred
LanguageHaskell2010

GHC.StgToJS.Rts.Types

Description

Types and utility functions used in the JS RTS.

Synopsis

Documentation

traceRts :: StgToJSConfig -> JExpr -> JStat Source #

Syntactic sugar, i.e., a Haskell function which generates useful JS code. Given a JExpr, ex, inject a trace statement on ex in the compiled JS program

assertRts :: ToJExpr a => StgToJSConfig -> JExpr -> a -> JStat Source #

Syntactic sugar. Given a JExpr, ex which is assumed to be a predicate, and a message m, assert that 'not ex' is True, if not throw an exception in JS land with message m.

clName :: JExpr -> JExpr Source #

name of the closure c

clTypeName :: JExpr -> JExpr Source #

Type name of the closure c

stackFrameSize Source #

Arguments

:: JExpr

assign frame size to this

-> JExpr

stack frame header function

-> JStat

size of the frame, including header

withRegs :: StgReg -> StgReg -> (StgReg -> JStat) -> JStat Source #

Perform the computation f, on the range of registers bounded by start and end.