Commit Graph

67 Commits (2f835d36665765ab4bca61311ee2943e56e70310)

Author SHA1 Message Date
John Benediktsson b366a06c41 use reject instead of [ ... not ] filter. 2015-05-12 18:50:34 -07:00
John Benediktsson c65877104e compiler: cleanup usings. 2014-12-13 16:10:21 -08:00
Doug Coleman 7cfa9d9518 assocs: Make map-index-as support seq or assoc exemplars and move map-index, map-index-as to assocs because they need to use new-assoc. Make zip-index-as support assoc exemplars. Fix up docs and tests.
assocs.extras: Remove zip-as and move tests to assocs.
2014-11-08 18:18:00 -08:00
Doug Coleman 56f1b87a6f basis, extra: Use zip-index. 2014-11-08 00:46:30 -08:00
John Benediktsson b910ca090c compiler.tree.propagation.transforms: previous H{ } and HS{ } optimization no longer necessary. 2014-01-08 09:56:08 -08:00
John Benediktsson 47a0ebcc99 compiler.tree.propagation.transforms: faster H{ } and HS{ } clone. 2013-11-25 16:42:59 -08:00
John Benediktsson 97530d86d4 compiler.tree.propagation.transforms: rename to non-negative-fixnum?. 2013-11-25 12:58:21 -08:00
John Benediktsson 9bb5e34762 compiler.tree.propgation.transforms: make bit? use integer>fixnum. 2013-11-25 12:48:48 -08:00
John Benediktsson 5e0e6119e3 compiler.tree.propagation.transforms: intersect and diff should return type of set2. 2013-03-27 07:21:39 -07:00
John Benediktsson 77a3641bb6 compiler.tree.propagation.transforms: also fix diff. 2013-03-26 19:06:05 -07:00
John Benediktsson c4d832ce4d compiler.tree.propagation.transforms: fix intersect and add intersects?. 2013-03-26 19:04:50 -07:00
John Benediktsson 04af5f2ffb hash-sets: faster implementation based on hashtables. 2013-03-07 21:43:17 -08:00
John Benediktsson 5751f6d309 compiler.tree.propagation.transforms: use integer>fixnum-strict in shift. 2013-03-05 08:19:31 -08:00
John Benediktsson f7d58fff90 compiler.tree.propagation: throw the proper error in >fixnum methods. 2012-10-05 09:54:51 -07:00
John Benediktsson 040b94f5ce compiler.tree.propagation: make sure integer>fixnum-strict infers a fixnum. 2012-10-05 04:17:43 -07:00
John Benediktsson a4f264509d math: cleaner "2/" speedup by using custom inlining. 2012-09-10 17:59:03 -07:00
John Benediktsson 465a969b61 layouts: defining "fixnum-bits". 2012-08-21 18:05:59 -07:00
Doug Coleman cd9dd9d752 core: Throw an error when assigning a bignum to a fixnum tuple slot if the bignum doesn't fit. Fixes #594. 2012-08-03 14:59:59 -07:00
Doug Coleman fb4e3ad9bc compiler: Fix bitand on ratios, floats. Fix shift on ratios, floats. Add integer>fixnum. Fixes #500. 2012-07-23 09:31:12 -07:00
Doug Coleman 1c3deddf61 issue #358: Rename all of the words depends-on-* to add-depends-on* 2012-06-21 08:35:45 -07:00
Doug Coleman b37bebb17f compiler.tree.propagation.transforms: fix infinite recursion that was breaking prettyprint 2011-11-23 00:48:05 -08:00
Doug Coleman f90bc5cdb6 classes: optimize instance? for classoids 2011-11-22 20:38:07 -08:00
Doug Coleman 067f9830ef classes.union: Define a maybe: word that makes a tuple that acts as an anonymous union for a type and f. Updated all the places we define UNION: ?foo foo POSTPONE: f ;. Fixes #416 and lots of headaches. 2011-11-22 01:56:13 -08:00
Slava Pestov 3a0ffceed9 compiler.tree.propagation.transforms: fix rem and mod custom inlining 2011-10-10 12:12:53 -07:00
Slava Pestov 901ee2434c Fix custom-inlining for mod and rem, which was converting these calls to bitand in some cases, even if the input was not known to be an integer. Fixes #243 2011-10-09 13:51:35 -07:00
Slava Pestov ae2c2909af Revert guarded method inlining
This reverts commit 44a835e3fc, reversing
changes made to d45926bda0.
2010-06-24 12:35:21 -04:00
Daniel Ehrenberg 30cfbc8512 Merge branch 'master' into propagation 2010-06-15 13:26:01 -04:00
Slava Pestov ba7cb61133 Stack allocation improvements
- New with-out-parameters combinator
- Inhibit tail call optimization in frames with local allocation, to ensure that passing a stack allocated value to the last word in the quotation works
- local allocations are now aligned properly
- spill slots are now aligned properly aligned in frames which have parameter and local allocation areas
2010-05-22 02:37:00 -04:00
Slava Pestov ea726f5680 Move remaining sequence operations from generalizations to sequences.generalizations where they belong 2010-05-18 18:36:47 -04:00
Daniel Ehrenberg 23e78b8380 Removing hack with >fixnum, now subsumed by a more general optimization 2010-05-04 16:46:39 -05:00
Daniel Ehrenberg f1d7a4e663 Improving method inlining change, but there's still a bug 2010-05-04 16:46:08 -05:00
Daniel Ehrenberg 750a96935f instance? optimizes null checks 2010-05-04 16:46:07 -05:00
Slava Pestov 0fbf454b18 compiler.tree.propagation: fix both-fixnums? trick 2010-05-03 17:34:30 -04:00
Slava Pestov d143aa64b2 compiler.tree.propagation.transforms: open-code >fixnum when input is already a fixnum or f 2010-04-19 01:14:00 -05:00
Daniel Ehrenberg 7074979745 Moving new-sets to sets 2010-02-26 16:01:01 -05:00
Daniel Ehrenberg 73a990a4b8 Making it fast to create a new hashset 2010-02-26 13:24:26 -05:00
Daniel Ehrenberg b76c82048d Making propagation and tuple.parser refer to new-sets; adding some missing features from sets into new-sets 2010-02-26 12:07:37 -05:00
Slava Pestov 64a37d2db6 compiler.tree.propagation.transforms: tweak 2^ transform to fix performance regression in benchmark.beust2; introduced by 47d6507548 2010-02-16 01:03:09 +13:00
Slava Pestov 5ed0bc72aa Merge git://github.com/littledan/Factor into littledan 2010-01-31 02:54:58 +13:00
Slava Pestov 6cc68e889e stack-checker.dependencies: add tuple layout dependencies for use by 'new' and 'boa' 2010-01-30 09:29:00 +13:00
Slava Pestov c058343167 Add some utility words to stack-checker.dependencies in preparation for a refactoring 2010-01-30 09:28:59 +13:00
Slava Pestov 26f311279c Re-defining a tuple class now invalidates cached quotation stack effects 2010-01-30 09:28:59 +13:00
Slava Pestov c027046857 New 'conditional dependency' mechanism for more accurate recording of recompilation information 2010-01-30 09:28:57 +13:00
Daniel Ehrenberg d3590ea210 Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:

	basis/compiler/tree/propagation/transforms/transforms.factor
2010-01-20 00:15:55 -06:00
Daniel Ehrenberg aa1651032d Adding compiler transforms in propagation 2010-01-20 00:10:49 -06:00
Slava Pestov df4fb4a3ee Removing integers-as-sequences 2010-01-15 07:15:33 +13:00
Slava Pestov 47a5e96547 Rework min and max so that behavior with floats and NaNs is consistent between generic arithmetic and open-coded float intrinsics 2010-01-13 22:20:16 +13:00
Slava Pestov 361c38d5a1 heap-size now has a partial-eval instead of being foldable, and the partial-eval adds a dependency on the C type word. Fixes problem where redefining a struct didn't update specialized array 2009-11-15 11:26:37 -06:00
Slava Pestov ff25aaef54 compiler.tree.propagation.transforms: inline push if types are known. Speeds up reverse-complement, sort, sum-file benchmarks 2009-11-12 17:24:32 -06:00
Slava Pestov cd2e226afa stack-checker: split off stack-checker.dependencies from stack-checker.state 2009-11-08 20:34:46 -06:00