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
|
61ea749bb6
|
More accurate interval-mod and interval-rem
|
2009-08-08 22:01:12 -05:00 |
Slava Pestov
|
c3d60e5899
|
compiler.tree.recursive: more accurate loop detection
|
2009-08-04 19:18:40 -05:00 |
Slava Pestov
|
82c1106945
|
compiler.cfg.ssa.destruction: new implementation: simpler and more correct
|
2009-08-02 10:26:52 -05:00 |
Slava Pestov
|
e01fc93812
|
compiler.tree.propagation.call-effect: fix case where quotation inlining could enter an infinite loop: [ dup call( quot -- ) ] dup call( quot -- ) etc
|
2009-08-01 23:34:14 -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
|
1d735bc32d
|
compiler.tree.propagation.transforms: fix shift transform
|
2009-07-17 00:02:57 -05:00 |
Slava Pestov
|
3fb4fc1bde
|
Improve code generation for shift word: add intrinsics for fixnum-shift-fast in the case where the shift count is not constant, transform 1 swap shift into a more overflow check with open-coded fast case, transform bitand into fixnum-bitand in more cases
|
2009-07-16 23:50:48 -05:00 |
Daniel Ehrenberg
|
062e33f8fb
|
fixing stupid bug in propagation
|
2009-07-16 00:43:54 -05:00 |
Daniel Ehrenberg
|
ee3e84a1f8
|
define-partial-eval framework in propagation pass makes it easy to add transforms; moving some transforms from stack checker to propagation, making them stronger
|
2009-07-16 00:34:50 -05:00 |
Daniel Ehrenberg
|
bb06facb01
|
new is inlined in the propagation pass when the class is known
|
2009-07-14 14:16:39 -05:00 |
Daniel Ehrenberg
|
47500fad06
|
call( and execute( inline known quotations/words in the propagation pass
|
2009-07-14 01:12:45 -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 |
Doug Coleman
|
a54c78007b
|
add a clamp word to math.order, use clamp word throughout libraries
|
2009-05-24 21:35:50 -05:00 |
Slava Pestov
|
66a9416473
|
Update documentation for stricter vocabulary search path semantics
|
2009-05-16 00:29:21 -05:00 |
Slava Pestov
|
fb6df472a2
|
Cleaning up USING: lists for new strict semantics
|
2009-05-14 16:54:16 -05:00 |
Slava Pestov
|
b67b617746
|
Fix compiler breakage if a GENERIC# has an incorrect stack effect declaration
|
2009-05-12 21:23:52 -05:00 |
Slava Pestov
|
466533d509
|
Fix overly-eager strength reduction for mod, and add a type function for >integer (reported by Joe Groff)
|
2009-05-07 12:32:06 -05:00 |
Slava Pestov
|
029d93a838
|
Make walker work better with call( and breakpoints which are nested inside combinators
|
2009-05-05 09:12:32 -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
|
e5cdb7ac2d
|
call( fast-path now supports curry and compose
|
2009-04-30 21:08:29 -05:00 |
Slava Pestov
|
964fbd0a24
|
Fix test failures from ratio/complex built-in removal
|
2009-04-30 00:38:55 -05:00 |
Slava Pestov
|
fc4894fbdf
|
Replace ratio and complex built-in types with tuples defined in the library. This frees up two lo-tags, so move array and quotation over to these tags and update compiler for new tags
|
2009-04-30 00:27:35 -05:00 |
Slava Pestov
|
3dc9fdf9db
|
Fleshed out new dispatch code
|
2009-04-24 20:43:01 -05:00 |
Slava Pestov
|
057f75e9a1
|
Refactor compiler.tree.builder to fix various regressions
|
2009-04-21 23:02:00 -05:00 |
Slava Pestov
|
469c9ee21d
|
Debugging stack checking
|
2009-04-21 16:09:53 -05:00 |
Slava Pestov
|
05f3f9dcb9
|
Fixing unit tests for stack effect inference changes
|
2009-04-20 21:15:19 -05:00 |
Slava Pestov
|
8414693142
|
stack-checker: trust word declarations instead of recursively checking them
|
2009-04-20 18:44:45 -05:00 |
Slava Pestov
|
ec49307c88
|
Never inline default methods, and fix inlining of methods with hints
|
2009-04-20 03:27:18 -05:00 |
Doug Coleman
|
dba4c0d589
|
fixing compiler errors in basis
|
2009-04-17 12:46:04 -05:00 |
Slava Pestov
|
0a5b076c11
|
Make the walker infer
|
2009-04-16 23:14:11 -05:00 |
sheeple
|
a4e62dfdba
|
Fix for math.parser syntax change
|
2009-04-13 14:47:39 -05:00 |
Slava Pestov
|
37e278ed02
|
Use [ ] [ ] map-reduce instead of unclip [ ] reduce
|
2009-04-06 17:50:54 -05:00 |
Slava Pestov
|
932d44cab8
|
Small speedup for code using H{ } clone and with-scope
|
2009-03-31 08:16:04 -05:00 |
Slava Pestov
|
be4fb1e7d9
|
Move call( and execute( to core
|
2009-03-16 20:11:36 -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 |
Slava Pestov
|
42224eb4e7
|
Propagation pass: add inlined node counts to total node count, so that the more we inline the less we are eager to inline more
|
2009-03-06 23:34:01 -06:00 |
Slava Pestov
|
03cb32ad9c
|
Make execute( faster, add execute-unsafe( and make effect tuple slots read only
|
2009-03-01 20:12:35 -06:00 |
Slava Pestov
|
78ce670101
|
Merge branch 'for-slava' of git://git.rfc1149.net/factor
|
2009-02-28 14:42:56 -06:00 |
Slava Pestov
|
bda8b2dda6
|
Better inlining for both-fixnums?
|
2009-02-26 14:11:26 -06:00 |
Samuel Tardieu
|
da2ebe21a6
|
Fix two overzealous [ ] removal in tests
|
2009-02-18 03:06:14 +01:00 |
Samuel Tardieu
|
087d931c36
|
Remove the tail argument from do/until/while
|
2009-02-18 02:41:14 +01:00 |
Slava Pestov
|
6b25e99470
|
Add summary for heaps more vocabs
|
2009-02-16 21:05:13 -06:00 |
Daniel Ehrenberg
|
b65b88364c
|
Updating lots of things to use call( -- )
|
2009-02-08 22:12:11 -06:00 |
Doug Coleman
|
3c408342ef
|
renaming: contain? -> any?, deep-contains? -> deep-any?, pad-left -> pad-head, pad-right -> pad-tail, trim-left -> trim-head, trim-right -> trim-tail
|
2009-01-29 22:19:07 -06:00 |
Doug Coleman
|
990513db60
|
use CONSTANT: in basis
|
2009-02-22 19:13:08 -06:00 |
Slava Pestov
|
bf5ff11720
|
Update usages of all-equal? now that its in the grouping vocab
|
2009-01-16 15:14:30 -06:00 |
Doug Coleman
|
e661c67189
|
refactor a word to use smart combinators
|
2009-01-08 23:09:38 -06:00 |