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
|
||||
fry kernel layouts math namespaces sequences cpu.architecture
|
||||
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
|
||||
compiler.cfg
|
||||
compiler.cfg.registers
|
||||
|
@ -84,8 +84,8 @@ M: ##gather-int-vector-2 rewrite rewrite-gather-vector-2 ;
|
|||
insn dst>>
|
||||
[
|
||||
src1 src2 src3 src4
|
||||
[ insn rep>> scalar-value ] 4 napply
|
||||
] B{ } append-outputs-as
|
||||
[ insn rep>> scalar-value % ] 4 napply
|
||||
] B{ } make
|
||||
##load-reference new-insn ;
|
||||
|
||||
: rewrite-gather-vector-4 ( insn -- insn/f )
|
||||
|
|
|
@ -2,9 +2,10 @@
|
|||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: byte-arrays namespaces make math math.order math.parser
|
||||
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
|
||||
generic.parser strings quotations hashtables
|
||||
sequences.generalizations
|
||||
compiler.constants
|
||||
compiler.cfg
|
||||
compiler.cfg.linearization
|
||||
|
@ -106,7 +107,7 @@ M: ##dispatch generate-insn
|
|||
label-table get
|
||||
] B{ } make
|
||||
dup check-fixup
|
||||
] output>array ; inline
|
||||
] call 5 narray ; inline
|
||||
|
||||
: generate ( cfg -- code )
|
||||
[
|
||||
|
|
|
@ -2,9 +2,8 @@
|
|||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors kernel namespaces arrays sequences io words fry
|
||||
continuations vocabs assocs definitions math graphs generic
|
||||
generic.single combinators combinators.smart macros
|
||||
source-files.errors combinators.short-circuit classes.algebra
|
||||
vocabs.loader
|
||||
generic.single combinators macros make source-files.errors
|
||||
combinators.short-circuit classes.algebra vocabs.loader
|
||||
|
||||
stack-checker stack-checker.dependencies stack-checker.inlining
|
||||
stack-checker.errors
|
||||
|
@ -165,11 +164,11 @@ M: optimizing-compiler recompile ( words -- alist )
|
|||
|
||||
M: optimizing-compiler to-recompile ( -- words )
|
||||
[
|
||||
changed-effects get new-words get assoc-diff outdated-effect-usages
|
||||
changed-definitions get new-words get assoc-diff outdated-definition-usages
|
||||
maybe-changed get new-words get assoc-diff outdated-conditional-usages
|
||||
changed-definitions get [ drop word? ] assoc-filter 1array
|
||||
] append-outputs assoc-combine keys ;
|
||||
changed-effects get new-words get assoc-diff outdated-effect-usages %
|
||||
changed-definitions get new-words get assoc-diff outdated-definition-usages %
|
||||
maybe-changed get new-words get assoc-diff outdated-conditional-usages %
|
||||
changed-definitions get [ drop word? ] assoc-filter 1array %
|
||||
] { } make assoc-combine keys ;
|
||||
|
||||
M: optimizing-compiler process-forgotten-words
|
||||
[ delete-compiled-xref ] each ;
|
||||
|
|
Loading…
Reference in New Issue