Commit Graph

343 Commits (2f835d36665765ab4bca61311ee2943e56e70310)

Author SHA1 Message Date
Björn Lindqvist 2f835d3666 compiler.tree.propagation.*: implements downgrading to fixnum for the
mod word, maybe a first step in solving #224

factor_vm::primitive_bignum_mod is changed so that it outputs a fixnum
if the value is small enough. Then the compiler can take advantage of
knowing that expressions like [ >bignum 10 mod ] always result in a
fixnum [-9,9] and inline more arithmetic.
2015-06-27 16:14:58 +02:00
Björn Lindqvist 72fe466ac9 compiler.tree.propagation.known-words: more precise output class
assignment for all mod words

The compiler can better optimize a quotation like [ 20 fixnum-mod 55 + ]
if it knows fixnum-mod outputs a fixnum.
2015-06-27 16:14:57 +02:00
John Benediktsson 16abe47b03 compiler.tree.propagation: fix tests for bit? inlining. 2015-06-17 20:52:05 -07:00
Björn Lindqvist f37ab939f0 compiler.*: more compiler docs 2015-06-14 16:44:37 +02:00
John Benediktsson 2c3492a916 minor cleanup to some docs. 2015-05-13 16:09:14 -07:00
John Benediktsson b366a06c41 use reject instead of [ ... not ] filter. 2015-05-12 18:50:34 -07:00
Björn Lindqvist 0c2559ef6e compiler.*: a bunch more compiler docs 2015-05-09 20:04:22 -07:00
Björn Lindqvist 8f02cad9c5 compiler.cfg.*: a bunch of new tests 2015-05-09 20:04:22 -07:00
Björn Lindqvist c3ca8bd859 compiler.cfg.*: even more compiler docs 2015-04-29 09:31:58 -07:00
Björn Lindqvist eda9535ce6 compiler.tree.propagation.call-effect: changing back call-effect-unsafe?, changing it made all images to large for some reason 2015-04-29 09:31:55 -07:00
Björn Lindqvist 837e098d41 compiler.cfg.*: a little more docs 2015-04-29 09:31:54 -07:00
Björn Lindqvist 09238cee4b compiler.tree.propagation.call-effect: docs for this vocab 2015-04-29 09:31:54 -07:00
John Benediktsson c65877104e compiler: cleanup usings. 2014-12-13 16:10:21 -08:00
John Benediktsson c0d6fdedd1 classes.tuple: use slots>tuple when possible. 2014-11-29 16:54:50 -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 b573c40402 compiler.tree: teaching it bignum>fixnum-strict. 2014-06-08 13:40:38 -07:00
John Benediktsson 57f9d78892 improve help by linking to types directly. 2014-05-23 20:20:15 -07:00
Björn Lindqvist e2eebdec4d Docs: mostly fixes for doc errors found by help lint 2014-05-10 17:13:49 -07:00
Björn Lindqvist b11e912b44 Docs: initial docs for compiler.tree.propagation.* vocabs 2014-05-10 17:13:48 -07:00
John Benediktsson 9d3a654443 namespaces: removing make-assoc in favor of explicit get's. 2014-04-24 09:16:14 -07: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 9e65ccaf9f compiler.tree.propagation.simple: check output types length. 2013-04-26 17:21:22 -07: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
Doug Coleman 33a4117787 compiler: Fix tuple literals in tests. 2013-03-24 01:09:37 -07:00
Doug Coleman 5f377c0849 compiler: Rename value-info, live-interval 2013-03-23 22:56:47 -07:00
Doug Coleman 8c19602ae9 assocs: Add of and ?of. Change all the things at once! Fixes #701. 2013-03-23 14:59:07 -07:00
John Benediktsson 7da4a74588 compiler: fewer namespace lookups. 2013-03-21 19:11:20 -07:00
John Benediktsson af1b167c28 compiler.tree.propagation.info: inline <value-info>. 2013-03-08 12:19:24 -08: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 5a7e7b8d9b compiler.tree.propagation.known-words: retry this change, some issue with use vocabs. 2013-01-22 07:09:49 -08:00
John Benediktsson f5c898734c Revert "compiler.tree.propagation.known-words: adding known outputs for some words."
This reverts commit 16d8e6555b.
2013-01-22 06:42:58 -08:00
John Benediktsson 7a63013916 compiler.tree.propagation.known-words: adding known outputs for some words. 2013-01-21 20:28:17 -08:00
Doug Coleman fe677bac2f compiler.tree.propagation.recursive: Generalizing intervals in the propagation pass ignored types. Fixes #770. 2013-01-01 18:47:23 -08:00
John Benediktsson cf3c197743 compiler.tree.propagation: revert cleanup, this was more correct. 2012-10-05 15:00:49 -07:00
John Benediktsson f7d58fff90 compiler.tree.propagation: throw the proper error in >fixnum methods. 2012-10-05 09:54:51 -07:00
John Benediktsson 80b39bd4f2 compiler.tree.propagation: cleanup known-words a bit. 2012-10-05 09:47:27 -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 e72e1a340f compiler.tree.propagation: fix >fraction types. 2012-09-11 07:42:39 -07:00
John Benediktsson e84e508256 math.ratios: speed up some operations on ratios. 2012-09-10 19:53:25 -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