Handbook
Glossary
#dispatch
High-level optimizer operating on lexical tree SSA IR
Prev:
#if
Next:
#phi
Vocabulary
compiler
.
tree
Definition
IN:
compiler.tree
TUPLE:
#dispatch
<
#branch
;
Methods
USING:
accessors
compiler.tree
compiler.tree.propagation.branches
sequences
;
M:
#dispatch
child-constraints
children>>
length
f
<repetition>
;
USING:
compiler.cfg.builder
compiler.cfg.hats
compiler.cfg.instructions
compiler.cfg.registers
compiler.cfg.stacks
compiler.tree
;
M:
#dispatch
emit-node
ds-pop
^^offset>slot
next-vreg
##dispatch,
emit-if
;
USING:
accessors
arrays
combinators
compiler.tree
compiler.tree.propagation.branches
compiler.tree.propagation.info
kernel
math
sequences
;
M:
#dispatch
live-branches
[
children>>
]
[
in-d>>
first
value-info
]
bi
{
{
[
dup
class>>
null-class?
]
[
drop
length
f
<array>
]
}
{
[
dup
literal>>
integer?
not
]
[
drop
length
t
<array>
]
}
{
[
2dup
literal>>
swap
bounds-check?
not
]
[
drop
length
t
<array>
]
}
[
literal>>
swap
length
f
<array>
[
[
t
]
2dip
set-nth
]
keep
]
}
cond
;
USING:
compiler.tree
compiler.tree.dead-code.liveness
;
M:
#dispatch
mark-live-values*
look-at-inputs
;
USING:
accessors
compiler.tree
compiler.tree.debugger
make
sequences
sequences.private
;
M:
#dispatch
node>quot
children>>
[
nodes>quot
]
map
,
\
dispatch
,
;
USING:
compiler.tree
compiler.tree.propagation.branches
compiler.tree.propagation.nodes
generic
namespaces
;
M:
#dispatch
propagate-around
condition-value
off
M\
#dispatch
propagate-around
(call-next-method)
;