"/library/io/server.factor"
"/library/tools/jedit.factor"
- "/library/compiler/architecture.factor"
-
"/library/compiler/inference/shuffle.factor"
"/library/compiler/inference/dataflow.factor"
"/library/compiler/inference/inference.factor"
"/library/compiler/inference/branches.factor"
"/library/compiler/inference/words.factor"
"/library/compiler/inference/stack.factor"
+ "/library/compiler/inference/known-words.factor"
"/library/compiler/optimizer/class-infer.factor"
"/library/compiler/optimizer/kill-literals.factor"
"/library/compiler/optimizer/optimizer.factor"
"/library/compiler/optimizer/inline-methods.factor"
- "/library/compiler/optimizer/known-words.factor"
"/library/compiler/optimizer/call-optimizers.factor"
"/library/compiler/optimizer/print-dataflow.factor"
+ "/library/compiler/generator/architecture.factor"
"/library/compiler/generator/assembler.factor"
"/library/compiler/generator/templates.factor"
"/library/compiler/generator/xt.factor"
"/library/kernel.facts"
"/library/threads.facts"
"/library/words.facts"
- "/library/compiler/alien/alien-callback.facts"
- "/library/compiler/alien/alien-invoke.facts"
- "/library/compiler/alien/aliens.facts"
- "/library/compiler/alien/c-types.facts"
- "/library/compiler/alien/malloc.facts"
- "/library/compiler/alien/structs.facts"
- "/library/compiler/alien/syntax.facts"
"/library/bootstrap/image.facts"
"/library/collections/growable.facts"
"/library/collections/arrays.facts"
"/library/collections/flatten.facts"
"/library/collections/vectors.facts"
"/library/collections/virtual-sequences.facts"
+ "/library/compiler/alien/alien-callback.facts"
+ "/library/compiler/alien/alien-invoke.facts"
+ "/library/compiler/alien/aliens.facts"
+ "/library/compiler/alien/c-types.facts"
+ "/library/compiler/alien/malloc.facts"
+ "/library/compiler/alien/structs.facts"
+ "/library/compiler/alien/syntax.facts"
+ "/library/compiler/inference/inference.facts"
"/library/compiler/compiler.facts"
"/library/generic/early-generic.facts"
"/library/generic/generic.facts"
"/library/generic/slots.facts"
"/library/generic/standard-combination.facts"
"/library/generic/tuple.facts"
- "/library/inference/inference.facts"
"/library/io/binary.facts"
"/library/io/buffer.facts"
"/library/io/c-streams.facts"
: stack-reserve ( node -- n )
0 swap [ stack-reserve* max ] each-node ;
+: if-intrinsic ( #call -- quot )
+ dup node-successor #if?
+ [ node-param "if-intrinsic" word-prop ] [ drop f ] if ;
+
DEFER: #terminal?
PREDICATE: #merge #terminal-merge node-successor #terminal? ;
: define-if-intrinsic ( word quot template -- | quot: label -- )
[with-template] "if-intrinsic" set-word-prop ;
-: if-intrinsic ( #call -- quot )
- dup node-successor #if?
- [ node-param "if-intrinsic" word-prop ] [ drop f ] if ;
-
M: #call generate-node ( node -- next )
dup if-intrinsic [
>r <label> dup r> call