Bootstrap fixes
parent
451bfb3915
commit
b55d3041ab
|
@ -109,23 +109,22 @@ vectors words ;
|
||||||
"/library/io/server.factor"
|
"/library/io/server.factor"
|
||||||
"/library/tools/jedit.factor"
|
"/library/tools/jedit.factor"
|
||||||
|
|
||||||
"/library/compiler/architecture.factor"
|
|
||||||
|
|
||||||
"/library/compiler/inference/shuffle.factor"
|
"/library/compiler/inference/shuffle.factor"
|
||||||
"/library/compiler/inference/dataflow.factor"
|
"/library/compiler/inference/dataflow.factor"
|
||||||
"/library/compiler/inference/inference.factor"
|
"/library/compiler/inference/inference.factor"
|
||||||
"/library/compiler/inference/branches.factor"
|
"/library/compiler/inference/branches.factor"
|
||||||
"/library/compiler/inference/words.factor"
|
"/library/compiler/inference/words.factor"
|
||||||
"/library/compiler/inference/stack.factor"
|
"/library/compiler/inference/stack.factor"
|
||||||
|
"/library/compiler/inference/known-words.factor"
|
||||||
|
|
||||||
"/library/compiler/optimizer/class-infer.factor"
|
"/library/compiler/optimizer/class-infer.factor"
|
||||||
"/library/compiler/optimizer/kill-literals.factor"
|
"/library/compiler/optimizer/kill-literals.factor"
|
||||||
"/library/compiler/optimizer/optimizer.factor"
|
"/library/compiler/optimizer/optimizer.factor"
|
||||||
"/library/compiler/optimizer/inline-methods.factor"
|
"/library/compiler/optimizer/inline-methods.factor"
|
||||||
"/library/compiler/optimizer/known-words.factor"
|
|
||||||
"/library/compiler/optimizer/call-optimizers.factor"
|
"/library/compiler/optimizer/call-optimizers.factor"
|
||||||
"/library/compiler/optimizer/print-dataflow.factor"
|
"/library/compiler/optimizer/print-dataflow.factor"
|
||||||
|
|
||||||
|
"/library/compiler/generator/architecture.factor"
|
||||||
"/library/compiler/generator/assembler.factor"
|
"/library/compiler/generator/assembler.factor"
|
||||||
"/library/compiler/generator/templates.factor"
|
"/library/compiler/generator/templates.factor"
|
||||||
"/library/compiler/generator/xt.factor"
|
"/library/compiler/generator/xt.factor"
|
||||||
|
@ -191,13 +190,6 @@ vectors words ;
|
||||||
"/library/kernel.facts"
|
"/library/kernel.facts"
|
||||||
"/library/threads.facts"
|
"/library/threads.facts"
|
||||||
"/library/words.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/bootstrap/image.facts"
|
||||||
"/library/collections/growable.facts"
|
"/library/collections/growable.facts"
|
||||||
"/library/collections/arrays.facts"
|
"/library/collections/arrays.facts"
|
||||||
|
@ -215,6 +207,14 @@ vectors words ;
|
||||||
"/library/collections/flatten.facts"
|
"/library/collections/flatten.facts"
|
||||||
"/library/collections/vectors.facts"
|
"/library/collections/vectors.facts"
|
||||||
"/library/collections/virtual-sequences.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/compiler/compiler.facts"
|
||||||
"/library/generic/early-generic.facts"
|
"/library/generic/early-generic.facts"
|
||||||
"/library/generic/generic.facts"
|
"/library/generic/generic.facts"
|
||||||
|
@ -222,7 +222,6 @@ vectors words ;
|
||||||
"/library/generic/slots.facts"
|
"/library/generic/slots.facts"
|
||||||
"/library/generic/standard-combination.facts"
|
"/library/generic/standard-combination.facts"
|
||||||
"/library/generic/tuple.facts"
|
"/library/generic/tuple.facts"
|
||||||
"/library/inference/inference.facts"
|
|
||||||
"/library/io/binary.facts"
|
"/library/io/binary.facts"
|
||||||
"/library/io/buffer.facts"
|
"/library/io/buffer.facts"
|
||||||
"/library/io/c-streams.facts"
|
"/library/io/c-streams.facts"
|
||||||
|
|
|
@ -23,6 +23,8 @@ H{ } clone help-graph set-global xref-articles
|
||||||
|
|
||||||
"Compiling base..." print flush
|
"Compiling base..." print flush
|
||||||
|
|
||||||
|
\ + compile
|
||||||
|
\ = compile
|
||||||
{ "kernel" "sequences" "assembler" } compile-vocabs
|
{ "kernel" "sequences" "assembler" } compile-vocabs
|
||||||
|
|
||||||
"Compiling system..." print flush
|
"Compiling system..." print flush
|
||||||
|
|
|
@ -11,7 +11,7 @@ vectors words ;
|
||||||
"Creating primitives and basic runtime structures..." print flush
|
"Creating primitives and basic runtime structures..." print flush
|
||||||
|
|
||||||
H{ } clone c-types set
|
H{ } clone c-types set
|
||||||
"/library/alien/primitive-types.factor" parse-resource
|
"/library/compiler/alien/primitive-types.factor" parse-resource
|
||||||
|
|
||||||
! These symbols need the same hashcode in the target as in the
|
! These symbols need the same hashcode in the target as in the
|
||||||
! host.
|
! host.
|
||||||
|
|
|
@ -12,6 +12,10 @@ M: object stack-reserve* drop 0 ;
|
||||||
: stack-reserve ( node -- n )
|
: stack-reserve ( node -- n )
|
||||||
0 swap [ stack-reserve* max ] each-node ;
|
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?
|
DEFER: #terminal?
|
||||||
|
|
||||||
PREDICATE: #merge #terminal-merge node-successor #terminal? ;
|
PREDICATE: #merge #terminal-merge node-successor #terminal? ;
|
||||||
|
@ -130,10 +134,6 @@ M: #if generate-node ( node -- next )
|
||||||
: define-if-intrinsic ( word quot template -- | quot: label -- )
|
: define-if-intrinsic ( word quot template -- | quot: label -- )
|
||||||
[with-template] "if-intrinsic" set-word-prop ;
|
[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 )
|
M: #call generate-node ( node -- next )
|
||||||
dup if-intrinsic [
|
dup if-intrinsic [
|
||||||
>r <label> dup r> call
|
>r <label> dup r> call
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
! Copyright (C) 2004, 2006 Slava Pestov.
|
! Copyright (C) 2004, 2006 Slava Pestov.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
IN: optimizer
|
IN: optimizer
|
||||||
USING: compiler generic hashtables inference io kernel
|
USING: generic hashtables inference io kernel
|
||||||
lists math namespaces sequences vectors ;
|
lists math namespaces sequences vectors ;
|
||||||
|
|
||||||
SYMBOL: optimizer-changed
|
SYMBOL: optimizer-changed
|
||||||
|
|
Loading…
Reference in New Issue