compiler: The non-optimizing compiler is too slow with smart combinators in the compiler. Speed up bootstrap by not using them.

db4
Doug Coleman 2011-12-05 14:26:14 -08:00
parent 72fdb8c5fb
commit 80385770ef
3 changed files with 13 additions and 13 deletions

View File

@ -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 )

View File

@ -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 )
[

View File

@ -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 ;