compiler: The non-optimizing compiler is too slow with smart combinators in the compiler. Speed up bootstrap by not using them.
parent
72fdb8c5fb
commit
80385770ef
|
@ -3,7 +3,7 @@
|
||||||
USING: accessors combinators combinators.short-circuit arrays
|
USING: accessors combinators combinators.short-circuit arrays
|
||||||
fry kernel layouts math namespaces sequences cpu.architecture
|
fry kernel layouts math namespaces sequences cpu.architecture
|
||||||
math.bitwise math.order classes generalizations
|
math.bitwise math.order classes generalizations
|
||||||
combinators.smart locals make alien.c-types io.binary grouping
|
locals make alien.c-types io.binary grouping
|
||||||
math.vectors.simd.intrinsics
|
math.vectors.simd.intrinsics
|
||||||
compiler.cfg
|
compiler.cfg
|
||||||
compiler.cfg.registers
|
compiler.cfg.registers
|
||||||
|
@ -84,8 +84,8 @@ M: ##gather-int-vector-2 rewrite rewrite-gather-vector-2 ;
|
||||||
insn dst>>
|
insn dst>>
|
||||||
[
|
[
|
||||||
src1 src2 src3 src4
|
src1 src2 src3 src4
|
||||||
[ insn rep>> scalar-value ] 4 napply
|
[ insn rep>> scalar-value % ] 4 napply
|
||||||
] B{ } append-outputs-as
|
] B{ } make
|
||||||
##load-reference new-insn ;
|
##load-reference new-insn ;
|
||||||
|
|
||||||
: rewrite-gather-vector-4 ( insn -- insn/f )
|
: rewrite-gather-vector-4 ( insn -- insn/f )
|
||||||
|
|
|
@ -2,9 +2,10 @@
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: byte-arrays namespaces make math math.order math.parser
|
USING: byte-arrays namespaces make math math.order math.parser
|
||||||
sequences accessors kernel layouts assocs words summary arrays
|
sequences accessors kernel layouts assocs words summary arrays
|
||||||
combinators combinators.smart sets continuations.private fry
|
combinators sets continuations.private fry
|
||||||
cpu.architecture classes classes.struct locals slots parser
|
cpu.architecture classes classes.struct locals slots parser
|
||||||
generic.parser strings quotations hashtables
|
generic.parser strings quotations hashtables
|
||||||
|
sequences.generalizations
|
||||||
compiler.constants
|
compiler.constants
|
||||||
compiler.cfg
|
compiler.cfg
|
||||||
compiler.cfg.linearization
|
compiler.cfg.linearization
|
||||||
|
@ -106,7 +107,7 @@ M: ##dispatch generate-insn
|
||||||
label-table get
|
label-table get
|
||||||
] B{ } make
|
] B{ } make
|
||||||
dup check-fixup
|
dup check-fixup
|
||||||
] output>array ; inline
|
] call 5 narray ; inline
|
||||||
|
|
||||||
: generate ( cfg -- code )
|
: generate ( cfg -- code )
|
||||||
[
|
[
|
||||||
|
|
|
@ -2,9 +2,8 @@
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: accessors kernel namespaces arrays sequences io words fry
|
USING: accessors kernel namespaces arrays sequences io words fry
|
||||||
continuations vocabs assocs definitions math graphs generic
|
continuations vocabs assocs definitions math graphs generic
|
||||||
generic.single combinators combinators.smart macros
|
generic.single combinators macros make source-files.errors
|
||||||
source-files.errors combinators.short-circuit classes.algebra
|
combinators.short-circuit classes.algebra vocabs.loader
|
||||||
vocabs.loader
|
|
||||||
|
|
||||||
stack-checker stack-checker.dependencies stack-checker.inlining
|
stack-checker stack-checker.dependencies stack-checker.inlining
|
||||||
stack-checker.errors
|
stack-checker.errors
|
||||||
|
@ -165,11 +164,11 @@ M: optimizing-compiler recompile ( words -- alist )
|
||||||
|
|
||||||
M: optimizing-compiler to-recompile ( -- words )
|
M: optimizing-compiler to-recompile ( -- words )
|
||||||
[
|
[
|
||||||
changed-effects get new-words get assoc-diff outdated-effect-usages
|
changed-effects get new-words get assoc-diff outdated-effect-usages %
|
||||||
changed-definitions get new-words get assoc-diff outdated-definition-usages
|
changed-definitions get new-words get assoc-diff outdated-definition-usages %
|
||||||
maybe-changed get new-words get assoc-diff outdated-conditional-usages
|
maybe-changed get new-words get assoc-diff outdated-conditional-usages %
|
||||||
changed-definitions get [ drop word? ] assoc-filter 1array
|
changed-definitions get [ drop word? ] assoc-filter 1array %
|
||||||
] append-outputs assoc-combine keys ;
|
] { } make assoc-combine keys ;
|
||||||
|
|
||||||
M: optimizing-compiler process-forgotten-words
|
M: optimizing-compiler process-forgotten-words
|
||||||
[ delete-compiled-xref ] each ;
|
[ delete-compiled-xref ] each ;
|
||||||
|
|
Loading…
Reference in New Issue