Commit Graph

25 Commits (82a8ef7beb880e36da77921c07688cbe66d908eb)

Author SHA1 Message Date
Slava Pestov 4ecf5a904a More accurate wrap-interval in compiler.tree.propagation.info fixes test regression; constructing an interval with endpoints at infinity now outputs full-interval 2009-08-12 03:25:53 -05:00
Slava Pestov 7e35723db0 compiler.tree.propagation: be more careful with intervals, ensuring that the inferred interval of a value is a subset of the value class's interval. This improves accuracy, for example [ >fixnum 1 + >fixnum most-positive-fixnum <= ] constant-folds to true 2009-08-10 01:16:49 -05:00
Slava Pestov e400d80d8b More accurate interval inference for mod, rem, and propagation can now infer intervals in the case where a value might be f. so, [ [ 127 bitand ] [ drop f ] if dup [ 0 >= ] [ not ] if ] now constant-folds down to 't'! 2009-08-08 23:03:45 -05:00
Slava Pestov 501629cf75 compiler.tree.propagation.info: fix load error 2009-07-27 00:30:24 -05:00
Slava Pestov fc41140720 compiler.cfg.utilities: move value-info utilities to compiler.tree.propagation.info 2009-07-26 21:10:33 -05:00
Slava Pestov e0d84eb3a2 compiler.tree.propagation: better length propagation 2009-07-09 02:28:30 -05:00
Doug Coleman 407377fc98 rename peek -> last and update all usages 2009-05-25 16:38:33 -05:00
Slava Pestov 66a9416473 Update documentation for stricter vocabulary search path semantics 2009-05-16 00:29:21 -05:00
Slava Pestov f2ec59d658 Fix infinite loop when compiling a word containing a tuple literal with circular structure in it. This was triggered by call( inline caching in core-foundation.fsevents on Mac OS X 2009-05-01 09:36:53 -05:00
Slava Pestov 964fbd0a24 Fix test failures from ratio/complex built-in removal 2009-04-30 00:38:55 -05:00
Slava Pestov 37e278ed02 Use [ ] [ ] map-reduce instead of unclip [ ] reduce 2009-04-06 17:50:54 -05:00
Slava Pestov 4fdb5d0557 Fix infinite fixed point iteration bug found by littledan; generalize-counter-interval wasn't called in all the right places 2009-03-12 17:30:24 -05:00
Doug Coleman 990513db60 use CONSTANT: in basis 2009-02-22 19:13:08 -06:00
Slava Pestov 6b25e99470 Add summary for heaps more vocabs 2009-02-16 21:05:13 -06:00
Slava Pestov c678e6e362 Don't use combinators.short-circuit in compiler 2008-11-21 04:00:37 -06:00
Slava Pestov 5f4b247072 Propagation pass now uses a stack of hashtables for predicated constraints instead of cloning a hashtable. New strategy for recursive propagation; now converges with fewer iterations. ~15 sec bootstrap time improvement 2008-11-11 08:49:00 -06:00
Slava Pestov 43335d9c36 Intervals now use a special singleton for the full interval to eliminate FP math in the common case; fix a bug in value-info<= 2008-11-11 08:30:14 -06:00
Slava Pestov cc879fa9b7 Tuple layouts are now arrays, instead of built-in types. The superclass
array is now part of the tuple layout object itself, and class hashcodes
are stored alongside class words there. This removes 2 indirections when
reading a superclass, and 3 when reading a superclass hashcode.
2008-11-05 22:20:29 -06:00
Slava Pestov 1a865f89ac Some optimizer change sfores for new codegen 2008-09-17 22:18:08 -05:00
Doug Coleman 8a921c791c if-empty changes 2008-09-06 19:13:59 -05:00
Slava Pestov e1716d92b3 Remove delegation slot 2008-09-03 03:46:56 -05:00
Slava Pestov 669e0f8f0a Propagate slot types of literals 2008-09-01 18:25:21 -05:00
Slava Pestov 29e5ed2adb Fixing deploy tool 2008-08-31 19:17:04 -05:00
Slava Pestov 9aa6d8ae04 Compiler fixes 2008-08-22 15:30:57 -05:00
Slava Pestov f2a5a30c6f New front-end and high-level optimizer lands 2008-08-12 03:22:45 -05:00