cxx-frontend
Preparing search index...
index
EmitterDelegate
Interface EmitterDelegate
interface
EmitterDelegate
{
debug
?:
DebugEmitterDelegate
;
activateConditionalCleanup
(
address
:
number
,
entry
:
number
,
region
:
number
,
)
:
number
;
addBlockParameter
(
block
:
number
,
type
:
number
,
loc
:
number
)
:
number
;
addressOfSymbol
(
loc
:
number
,
resultType
:
number
,
symbol
:
string
)
:
number
;
allocate
(
loc
:
number
,
pointerType
:
number
,
size
:
number
,
alignment
:
number
,
)
:
number
;
arrayType
(
elementType
:
number
,
size
:
number
)
:
number
;
beginCleanupRegion
()
:
number
;
beginFunctionBody
(
function_
:
number
)
:
void
;
beginGlobalInitializer
(
global
:
number
)
:
void
;
beginModule
(
info
:
ModuleInfo
)
:
number
;
binaryOp
(
loc
:
number
,
op
:
BinaryOp
,
lhs
:
number
,
rhs
:
number
)
:
number
;
blockParameter
(
block
:
number
,
index
:
number
)
:
number
;
blockParameterCount
(
block
:
number
)
:
number
;
branch
(
loc
:
number
,
target
:
number
,
operands
:
readonly
number
[]
)
:
void
;
branchWithCleanups
(
loc
:
number
,
target
:
CleanupTarget
,
cleanups
:
readonly
CleanupAction
[]
,
)
:
void
;
call
(
loc
:
number
,
info
:
CallInfo
)
:
number
[]
;
compareFloat
(
loc
:
number
,
predicate
:
FloatPredicate
,
lhs
:
number
,
rhs
:
number
,
)
:
number
;
compareInt
(
loc
:
number
,
predicate
:
IntPredicate
,
lhs
:
number
,
rhs
:
number
,
)
:
number
;
condBranch
(
loc
:
number
,
condition
:
number
,
trueDest
:
number
,
falseDest
:
number
,
)
:
void
;
constant
(
loc
:
number
,
type
:
number
,
value
:
Initializer
)
:
number
;
convert
(
loc
:
number
,
kind
:
CastKind
,
value
:
number
,
type
:
number
)
:
number
;
createBlock
(
function_
:
number
)
:
number
;
declareClassType
(
name
:
string
)
:
number
;
declareFunction
(
loc
:
number
,
info
:
FunctionInfo
)
:
number
;
declareGlobal
(
loc
:
number
,
info
:
GlobalInfo
)
:
number
;
defineClassType
(
classType
:
number
,
members
:
readonly
number
[]
,
isPacked
:
boolean
,
)
:
void
;
defineLabel
(
loc
:
number
,
name
:
string
,
cleanupDepth
:
number
)
:
void
;
defineVTable
(
loc
:
number
,
info
:
VTableInfo
)
:
void
;
elementType
(
type
:
number
)
:
number
;
endCleanupRegion
(
region
:
number
)
:
void
;
endFunctionBody
(
function_
:
number
)
:
void
;
endModule
()
:
void
;
eraseBlock
(
block
:
number
)
:
void
;
extractValue
(
loc
:
number
,
resultType
:
number
,
container
:
number
,
position
:
number
,
)
:
number
;
findFunction
(
name
:
string
)
:
number
;
findGlobal
(
name
:
string
)
:
number
;
floatingType
(
kind
:
FloatKind
)
:
number
;
functionHasBody
(
function_
:
number
)
:
boolean
;
functionParameterTypes
(
function_
:
number
)
:
number
[]
;
functionResultTypes
(
function_
:
number
)
:
number
[]
;
functionType
(
parameters
:
readonly
number
[]
,
results
:
readonly
number
[]
,
isVariadic
:
boolean
,
)
:
number
;
globalConstructor
(
loc
:
number
,
function_
:
number
)
:
void
;
globalLinkage
(
global
:
number
)
:
Linkage
;
hasTerminator
(
block
:
number
)
:
boolean
;
indirectGoto
(
loc
:
number
,
target
:
number
)
:
void
;
insertionBlock
()
:
number
;
insertValue
(
loc
:
number
,
resultType
:
number
,
container
:
number
,
value
:
number
,
position
:
number
,
)
:
number
;
integerType
(
bits
:
number
)
:
number
;
isZeroConstant
(
value
:
number
)
:
boolean
;
labelAddress
(
loc
:
number
,
type
:
number
,
name
:
string
,
function_
:
number
,
)
:
number
;
load
(
loc
:
number
,
valueType
:
number
,
address
:
number
,
access
:
Access
,
)
:
number
;
memberAddress
(
loc
:
number
,
pointerType
:
number
,
base
:
number
,
index
:
number
,
)
:
number
;
memcpy
(
loc
:
number
,
destination
:
number
,
source
:
number
,
size
:
number
,
)
:
void
;
memsetZero
(
loc
:
number
,
address
:
number
,
size
:
number
)
:
void
;
pointerAdd
(
loc
:
number
,
pointerType
:
number
,
base
:
number
,
offset
:
number
,
)
:
number
;
pointerDiff
(
loc
:
number
,
resultType
:
number
,
lhs
:
number
,
rhs
:
number
,
)
:
number
;
pointerType
(
elementType
:
number
)
:
number
;
resolveFunctionControlFlow
(
function_
:
number
)
:
void
;
restoreInsertionPoint
(
point
:
number
)
:
void
;
ret
(
loc
:
number
,
values
:
readonly
number
[]
)
:
void
;
saveInsertionPoint
()
:
number
;
scalarWidth
(
type
:
number
)
:
number
;
select
(
loc
:
number
,
condition
:
number
,
ifTrue
:
number
,
ifFalse
:
number
,
)
:
number
;
setFunctionAliasee
(
function_
:
number
,
aliasee
:
string
)
:
void
;
setInsertionPoint
(
point
:
InsertionPoint
)
:
void
;
store
(
loc
:
number
,
value
:
number
,
address
:
number
,
access
:
Access
)
:
void
;
subscript
(
loc
:
number
,
pointerType
:
number
,
base
:
number
,
index
:
number
,
)
:
number
;
switchBranch
(
loc
:
number
,
flag
:
number
,
defaultDest
:
number
,
caseValues
:
readonly
bigint
[]
,
caseDestinations
:
readonly
number
[]
,
)
:
void
;
symbolExists
(
name
:
string
)
:
boolean
;
todo
(
loc
:
number
,
kind
:
TodoKind
,
message
:
string
)
:
number
;
typeKind
(
type
:
number
)
:
TypeKind
;
typeOf
(
value
:
number
)
:
number
;
unaryOp
(
loc
:
number
,
op
:
"NegateFloat"
,
type
:
number
,
value
:
number
,
)
:
number
;
unreachable
(
loc
:
number
)
:
void
;
unresolvedType
()
:
number
;
vectorSplat
(
loc
:
number
,
vectorType
:
number
,
scalar
:
number
)
:
number
;
vectorType
(
elementType
:
number
,
elementCount
:
number
)
:
number
;
voidType
()
:
number
;
}
Implemented by
TraceEmitter
Index
Properties
debug?
Methods
activate
Conditional
Cleanup
add
Block
Parameter
address
Of
Symbol
allocate
array
Type
begin
Cleanup
Region
begin
Function
Body
begin
Global
Initializer
begin
Module
binary
Op
block
Parameter
block
Parameter
Count
branch
branch
With
Cleanups
call
compare
Float
compare
Int
cond
Branch
constant
convert
create
Block
declare
Class
Type
declare
Function
declare
Global
define
Class
Type
define
Label
define
V
Table
element
Type
end
Cleanup
Region
end
Function
Body
end
Module
erase
Block
extract
Value
find
Function
find
Global
floating
Type
function
Has
Body
function
Parameter
Types
function
Result
Types
function
Type
global
Constructor
global
Linkage
has
Terminator
indirect
Goto
insertion
Block
insert
Value
integer
Type
is
Zero
Constant
label
Address
load
member
Address
memcpy
memset
Zero
pointer
Add
pointer
Diff
pointer
Type
resolve
Function
Control
Flow
restore
Insertion
Point
ret
save
Insertion
Point
scalar
Width
select
set
Function
Aliasee
set
Insertion
Point
store
subscript
switch
Branch
symbol
Exists
todo
type
Kind
type
Of
unary
Op
unreachable
unresolved
Type
vector
Splat
vector
Type
void
Type
Properties
Optional
Readonly
debug
debug
?:
DebugEmitterDelegate
Methods
activate
Conditional
Cleanup
activateConditionalCleanup
(
address
:
number
,
entry
:
number
,
region
:
number
,
)
:
number
Parameters
address
:
number
entry
:
number
region
:
number
Returns
number
add
Block
Parameter
addBlockParameter
(
block
:
number
,
type
:
number
,
loc
:
number
)
:
number
Parameters
block
:
number
type
:
number
loc
:
number
Returns
number
address
Of
Symbol
addressOfSymbol
(
loc
:
number
,
resultType
:
number
,
symbol
:
string
)
:
number
Parameters
loc
:
number
resultType
:
number
symbol
:
string
Returns
number
allocate
allocate
(
loc
:
number
,
pointerType
:
number
,
size
:
number
,
alignment
:
number
,
)
:
number
Parameters
loc
:
number
pointerType
:
number
size
:
number
alignment
:
number
Returns
number
array
Type
arrayType
(
elementType
:
number
,
size
:
number
)
:
number
Parameters
elementType
:
number
size
:
number
Returns
number
begin
Cleanup
Region
beginCleanupRegion
()
:
number
Returns
number
begin
Function
Body
beginFunctionBody
(
function_
:
number
)
:
void
Parameters
function_
:
number
Returns
void
begin
Global
Initializer
beginGlobalInitializer
(
global
:
number
)
:
void
Parameters
global
:
number
Returns
void
begin
Module
beginModule
(
info
:
ModuleInfo
)
:
number
Parameters
info
:
ModuleInfo
Returns
number
binary
Op
binaryOp
(
loc
:
number
,
op
:
BinaryOp
,
lhs
:
number
,
rhs
:
number
)
:
number
Parameters
loc
:
number
op
:
BinaryOp
lhs
:
number
rhs
:
number
Returns
number
block
Parameter
blockParameter
(
block
:
number
,
index
:
number
)
:
number
Parameters
block
:
number
index
:
number
Returns
number
block
Parameter
Count
blockParameterCount
(
block
:
number
)
:
number
Parameters
block
:
number
Returns
number
branch
branch
(
loc
:
number
,
target
:
number
,
operands
:
readonly
number
[]
)
:
void
Parameters
loc
:
number
target
:
number
operands
:
readonly
number
[]
Returns
void
branch
With
Cleanups
branchWithCleanups
(
loc
:
number
,
target
:
CleanupTarget
,
cleanups
:
readonly
CleanupAction
[]
,
)
:
void
Parameters
loc
:
number
target
:
CleanupTarget
cleanups
:
readonly
CleanupAction
[]
Returns
void
call
call
(
loc
:
number
,
info
:
CallInfo
)
:
number
[]
Parameters
loc
:
number
info
:
CallInfo
Returns
number
[]
compare
Float
compareFloat
(
loc
:
number
,
predicate
:
FloatPredicate
,
lhs
:
number
,
rhs
:
number
,
)
:
number
Parameters
loc
:
number
predicate
:
FloatPredicate
lhs
:
number
rhs
:
number
Returns
number
compare
Int
compareInt
(
loc
:
number
,
predicate
:
IntPredicate
,
lhs
:
number
,
rhs
:
number
,
)
:
number
Parameters
loc
:
number
predicate
:
IntPredicate
lhs
:
number
rhs
:
number
Returns
number
cond
Branch
condBranch
(
loc
:
number
,
condition
:
number
,
trueDest
:
number
,
falseDest
:
number
,
)
:
void
Parameters
loc
:
number
condition
:
number
trueDest
:
number
falseDest
:
number
Returns
void
constant
constant
(
loc
:
number
,
type
:
number
,
value
:
Initializer
)
:
number
Parameters
loc
:
number
type
:
number
value
:
Initializer
Returns
number
convert
convert
(
loc
:
number
,
kind
:
CastKind
,
value
:
number
,
type
:
number
)
:
number
Parameters
loc
:
number
kind
:
CastKind
value
:
number
type
:
number
Returns
number
create
Block
createBlock
(
function_
:
number
)
:
number
Parameters
function_
:
number
Returns
number
declare
Class
Type
declareClassType
(
name
:
string
)
:
number
Parameters
name
:
string
Returns
number
declare
Function
declareFunction
(
loc
:
number
,
info
:
FunctionInfo
)
:
number
Parameters
loc
:
number
info
:
FunctionInfo
Returns
number
declare
Global
declareGlobal
(
loc
:
number
,
info
:
GlobalInfo
)
:
number
Parameters
loc
:
number
info
:
GlobalInfo
Returns
number
define
Class
Type
defineClassType
(
classType
:
number
,
members
:
readonly
number
[]
,
isPacked
:
boolean
,
)
:
void
Parameters
classType
:
number
members
:
readonly
number
[]
isPacked
:
boolean
Returns
void
define
Label
defineLabel
(
loc
:
number
,
name
:
string
,
cleanupDepth
:
number
)
:
void
Parameters
loc
:
number
name
:
string
cleanupDepth
:
number
Returns
void
define
V
Table
defineVTable
(
loc
:
number
,
info
:
VTableInfo
)
:
void
Parameters
loc
:
number
info
:
VTableInfo
Returns
void
element
Type
elementType
(
type
:
number
)
:
number
Parameters
type
:
number
Returns
number
end
Cleanup
Region
endCleanupRegion
(
region
:
number
)
:
void
Parameters
region
:
number
Returns
void
end
Function
Body
endFunctionBody
(
function_
:
number
)
:
void
Parameters
function_
:
number
Returns
void
end
Module
endModule
()
:
void
Returns
void
erase
Block
eraseBlock
(
block
:
number
)
:
void
Parameters
block
:
number
Returns
void
extract
Value
extractValue
(
loc
:
number
,
resultType
:
number
,
container
:
number
,
position
:
number
,
)
:
number
Parameters
loc
:
number
resultType
:
number
container
:
number
position
:
number
Returns
number
find
Function
findFunction
(
name
:
string
)
:
number
Parameters
name
:
string
Returns
number
find
Global
findGlobal
(
name
:
string
)
:
number
Parameters
name
:
string
Returns
number
floating
Type
floatingType
(
kind
:
FloatKind
)
:
number
Parameters
kind
:
FloatKind
Returns
number
function
Has
Body
functionHasBody
(
function_
:
number
)
:
boolean
Parameters
function_
:
number
Returns
boolean
function
Parameter
Types
functionParameterTypes
(
function_
:
number
)
:
number
[]
Parameters
function_
:
number
Returns
number
[]
function
Result
Types
functionResultTypes
(
function_
:
number
)
:
number
[]
Parameters
function_
:
number
Returns
number
[]
function
Type
functionType
(
parameters
:
readonly
number
[]
,
results
:
readonly
number
[]
,
isVariadic
:
boolean
,
)
:
number
Parameters
parameters
:
readonly
number
[]
results
:
readonly
number
[]
isVariadic
:
boolean
Returns
number
global
Constructor
globalConstructor
(
loc
:
number
,
function_
:
number
)
:
void
Parameters
loc
:
number
function_
:
number
Returns
void
global
Linkage
globalLinkage
(
global
:
number
)
:
Linkage
Parameters
global
:
number
Returns
Linkage
has
Terminator
hasTerminator
(
block
:
number
)
:
boolean
Parameters
block
:
number
Returns
boolean
indirect
Goto
indirectGoto
(
loc
:
number
,
target
:
number
)
:
void
Parameters
loc
:
number
target
:
number
Returns
void
insertion
Block
insertionBlock
()
:
number
Returns
number
insert
Value
insertValue
(
loc
:
number
,
resultType
:
number
,
container
:
number
,
value
:
number
,
position
:
number
,
)
:
number
Parameters
loc
:
number
resultType
:
number
container
:
number
value
:
number
position
:
number
Returns
number
integer
Type
integerType
(
bits
:
number
)
:
number
Parameters
bits
:
number
Returns
number
is
Zero
Constant
isZeroConstant
(
value
:
number
)
:
boolean
Parameters
value
:
number
Returns
boolean
label
Address
labelAddress
(
loc
:
number
,
type
:
number
,
name
:
string
,
function_
:
number
)
:
number
Parameters
loc
:
number
type
:
number
name
:
string
function_
:
number
Returns
number
load
load
(
loc
:
number
,
valueType
:
number
,
address
:
number
,
access
:
Access
)
:
number
Parameters
loc
:
number
valueType
:
number
address
:
number
access
:
Access
Returns
number
member
Address
memberAddress
(
loc
:
number
,
pointerType
:
number
,
base
:
number
,
index
:
number
,
)
:
number
Parameters
loc
:
number
pointerType
:
number
base
:
number
index
:
number
Returns
number
memcpy
memcpy
(
loc
:
number
,
destination
:
number
,
source
:
number
,
size
:
number
)
:
void
Parameters
loc
:
number
destination
:
number
source
:
number
size
:
number
Returns
void
memset
Zero
memsetZero
(
loc
:
number
,
address
:
number
,
size
:
number
)
:
void
Parameters
loc
:
number
address
:
number
size
:
number
Returns
void
pointer
Add
pointerAdd
(
loc
:
number
,
pointerType
:
number
,
base
:
number
,
offset
:
number
,
)
:
number
Parameters
loc
:
number
pointerType
:
number
base
:
number
offset
:
number
Returns
number
pointer
Diff
pointerDiff
(
loc
:
number
,
resultType
:
number
,
lhs
:
number
,
rhs
:
number
)
:
number
Parameters
loc
:
number
resultType
:
number
lhs
:
number
rhs
:
number
Returns
number
pointer
Type
pointerType
(
elementType
:
number
)
:
number
Parameters
elementType
:
number
Returns
number
resolve
Function
Control
Flow
resolveFunctionControlFlow
(
function_
:
number
)
:
void
Parameters
function_
:
number
Returns
void
restore
Insertion
Point
restoreInsertionPoint
(
point
:
number
)
:
void
Parameters
point
:
number
Returns
void
ret
ret
(
loc
:
number
,
values
:
readonly
number
[]
)
:
void
Parameters
loc
:
number
values
:
readonly
number
[]
Returns
void
save
Insertion
Point
saveInsertionPoint
()
:
number
Returns
number
scalar
Width
scalarWidth
(
type
:
number
)
:
number
Parameters
type
:
number
Returns
number
select
select
(
loc
:
number
,
condition
:
number
,
ifTrue
:
number
,
ifFalse
:
number
)
:
number
Parameters
loc
:
number
condition
:
number
ifTrue
:
number
ifFalse
:
number
Returns
number
set
Function
Aliasee
setFunctionAliasee
(
function_
:
number
,
aliasee
:
string
)
:
void
Parameters
function_
:
number
aliasee
:
string
Returns
void
set
Insertion
Point
setInsertionPoint
(
point
:
InsertionPoint
)
:
void
Parameters
point
:
InsertionPoint
Returns
void
store
store
(
loc
:
number
,
value
:
number
,
address
:
number
,
access
:
Access
)
:
void
Parameters
loc
:
number
value
:
number
address
:
number
access
:
Access
Returns
void
subscript
subscript
(
loc
:
number
,
pointerType
:
number
,
base
:
number
,
index
:
number
)
:
number
Parameters
loc
:
number
pointerType
:
number
base
:
number
index
:
number
Returns
number
switch
Branch
switchBranch
(
loc
:
number
,
flag
:
number
,
defaultDest
:
number
,
caseValues
:
readonly
bigint
[]
,
caseDestinations
:
readonly
number
[]
,
)
:
void
Parameters
loc
:
number
flag
:
number
defaultDest
:
number
caseValues
:
readonly
bigint
[]
caseDestinations
:
readonly
number
[]
Returns
void
symbol
Exists
symbolExists
(
name
:
string
)
:
boolean
Parameters
name
:
string
Returns
boolean
todo
todo
(
loc
:
number
,
kind
:
TodoKind
,
message
:
string
)
:
number
Parameters
loc
:
number
kind
:
TodoKind
message
:
string
Returns
number
type
Kind
typeKind
(
type
:
number
)
:
TypeKind
Parameters
type
:
number
Returns
TypeKind
type
Of
typeOf
(
value
:
number
)
:
number
Parameters
value
:
number
Returns
number
unary
Op
unaryOp
(
loc
:
number
,
op
:
"NegateFloat"
,
type
:
number
,
value
:
number
)
:
number
Parameters
loc
:
number
op
:
"NegateFloat"
type
:
number
value
:
number
Returns
number
unreachable
unreachable
(
loc
:
number
)
:
void
Parameters
loc
:
number
Returns
void
unresolved
Type
unresolvedType
()
:
number
Returns
number
vector
Splat
vectorSplat
(
loc
:
number
,
vectorType
:
number
,
scalar
:
number
)
:
number
Parameters
loc
:
number
vectorType
:
number
scalar
:
number
Returns
number
vector
Type
vectorType
(
elementType
:
number
,
elementCount
:
number
)
:
number
Parameters
elementType
:
number
elementCount
:
number
Returns
number
void
Type
voidType
()
:
number
Returns
number
Settings
Member Visibility
Protected
Inherited
External
Theme
OS
Light
Dark
On This Page
Properties
debug
Methods
activate
Conditional
Cleanup
add
Block
Parameter
address
Of
Symbol
allocate
array
Type
begin
Cleanup
Region
begin
Function
Body
begin
Global
Initializer
begin
Module
binary
Op
block
Parameter
block
Parameter
Count
branch
branch
With
Cleanups
call
compare
Float
compare
Int
cond
Branch
constant
convert
create
Block
declare
Class
Type
declare
Function
declare
Global
define
Class
Type
define
Label
define
V
Table
element
Type
end
Cleanup
Region
end
Function
Body
end
Module
erase
Block
extract
Value
find
Function
find
Global
floating
Type
function
Has
Body
function
Parameter
Types
function
Result
Types
function
Type
global
Constructor
global
Linkage
has
Terminator
indirect
Goto
insertion
Block
insert
Value
integer
Type
is
Zero
Constant
label
Address
load
member
Address
memcpy
memset
Zero
pointer
Add
pointer
Diff
pointer
Type
resolve
Function
Control
Flow
restore
Insertion
Point
ret
save
Insertion
Point
scalar
Width
select
set
Function
Aliasee
set
Insertion
Point
store
subscript
switch
Branch
symbol
Exists
todo
type
Kind
type
Of
unary
Op
unreachable
unresolved
Type
vector
Splat
vector
Type
void
Type
cxx-frontend
Loading...