Slava Pestov
|
61ea749bb6
|
More accurate interval-mod and interval-rem
|
2009-08-08 22:01:12 -05:00 |
Slava Pestov
|
97ec3ea1b4
|
compiler.graphviz: add high-level IR call graph rendering
|
2009-08-05 03:33:06 -05:00 |
Slava Pestov
|
fb03a93763
|
compiler.tree.recursive: have to check tail call flag of call tree edges too
|
2009-08-05 02:14:49 -05:00 |
Slava Pestov
|
c3d60e5899
|
compiler.tree.recursive: more accurate loop detection
|
2009-08-04 19:18:40 -05:00 |
Slava Pestov
|
eed4f4dcfc
|
compiler.tree.recursive: add some more more loop detection tests
|
2009-08-04 16:23:14 -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
|
343151fd62
|
compiler.tree.finalization: undo a change that resulted in a compile time regression
|
2009-07-18 03:33:24 -05:00 |
Slava Pestov
|
5061db2a48
|
compiler.cfg: Move tail call optimization to the end, compiler.tree: simplify finalization pass because of this
|
2009-07-17 22:57:28 -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 |
Slava Pestov
|
e76dce8aff
|
Overflowing fixnum intrinsics now expand into several CFG nodes. This speeds up the common case since only the uncommon case is now a stack syncpoint
|
2009-07-16 18:29:40 -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 |
Daniel Ehrenberg
|
4b29d13fda
|
Adding authors to compiler.tree.modular-arithmetic
|
2009-07-09 23:09:49 -05:00 |
Daniel Ehrenberg
|
cf3038b7d6
|
Improving modular arithmetic optimization to be aware of words like set-alien-unsigned-2
|
2009-07-09 23:07:38 -05:00 |
Slava Pestov
|
e0d84eb3a2
|
compiler.tree.propagation: better length propagation
|
2009-07-09 02:28:30 -05:00 |
Slava Pestov
|
0180209f4e
|
compiler.tree.dead-code: methods on flushable generics should be flushable
|
2009-07-03 21:31:26 -05:00 |
Slava Pestov
|
41f48e3cfe
|
compiler.tree.optimizer: Remove redundant call to compute-def-use
|
2009-07-01 17:41:20 -05:00 |
Slava Pestov
|
29327a787c
|
Remove initial-quot feature
|
2009-06-15 13:07:15 -05:00 |
Slava Pestov
|
285c8cecc6
|
Add some failing unit tests exposing bugs in initial-quot: implementation
|
2009-06-13 18:34:27 -05:00 |
Doug Coleman
|
55f2185532
|
add an iota
|
2009-06-10 09:45:48 -05:00 |
Slava Pestov
|
9e987e8642
|
Merge branch 'master' into global_optimization
|
2009-06-01 03:12:32 -05:00 |
Slava Pestov
|
7b88756fd0
|
Add a with-scope so that optimize-tree doesn't pollute namespace
|
2009-05-27 18:58:54 -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
|
43a1834e0b
|
stack-checker: fix case where invalid code could infer
|
2009-05-23 15:50:35 -05:00 |
Joe Groff
|
3276ae3a08
|
get rid of useless test
|
2009-05-21 20:56:57 -05:00 |
Slava Pestov
|
66a9416473
|
Update documentation for stricter vocabulary search path semantics
|
2009-05-16 00:29:21 -05:00 |
Slava Pestov
|
dedbd14945
|
Fix escape analysis bug reported by Doug
|
2009-05-15 17:18:38 -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
|
65faa3fda3
|
Fix unit tests and load errors for slip removal
|
2009-05-10 17:03:41 -05:00 |
Slava Pestov
|
75d9946bd7
|
compiler.tree.modular-arithmetic: convert >integer >fixnum into >fixnum
|
2009-05-07 12:54:23 -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
|
663db67b23
|
compiler.tree.debugger: wasn't counting intrinsics properly when computing report
|
2009-04-30 00:27:51 -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
|
bba30dc284
|
Fix conflict from master
|
2009-04-27 17:09:09 -05:00 |
Slava Pestov
|
dac5203e81
|
compiler.tree.builder: Fix scoping of a variable by hints vocab
|
2009-04-26 16:04:44 -05:00 |
Slava Pestov
|
3dc9fdf9db
|
Fleshed out new dispatch code
|
2009-04-24 20:43:01 -05:00 |
Slava Pestov
|
5649cc7a0a
|
Compiler warnings are no more
|
2009-04-23 22:17:25 -05:00 |
Slava Pestov
|
1dd3ed519f
|
Revert part of an earlier ccompiler.tree.checker hange to fix smalltalk.eval regression
|
2009-04-22 21:03:53 -05:00 |
Doug Coleman
|
7f983f12d4
|
fix help lint failures, fix example in words
|
2009-04-22 12:26:28 -05:00 |
Slava Pestov
|
dea3987ca5
|
Silly workaround for performance regression
|
2009-04-22 00:44:06 -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
|
f38d2f91f6
|
Words which didn't compile cannot be run at all
|
2009-04-20 22:05:41 -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
|
5165d811d5
|
Changing the stack effect of a generic word could break the compiler
|
2009-04-20 04:21:00 -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
|
332bde4173
|
use iota in a few places
|
2009-04-17 16:17:11 -05:00 |
Slava Pestov
|
ce76331fd6
|
Fixing more unit tests
|
2009-04-17 15:50:03 -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 |
Slava Pestov
|
65b27354ad
|
Merge branch 'master' into smarter_error_list
|
2009-04-14 15:07:22 -05:00 |
sheeple
|
a4e62dfdba
|
Fix for math.parser syntax change
|
2009-04-13 14:47:39 -05:00 |
Slava Pestov
|
deae1d7bbb
|
Fix bootstrap
|
2009-04-10 04:41:26 -05:00 |
Slava Pestov
|
37e278ed02
|
Use [ ] [ ] map-reduce instead of unclip [ ] reduce
|
2009-04-06 17:50:54 -05:00 |
Slava Pestov
|
268abfcf2a
|
Remove method-specs in favor of M\
|
2009-04-06 02:59:59 -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
|
ff07c8f352
|
Fix compiler.tree.debugger tests
|
2009-03-25 22:53:03 -05:00 |
Slava Pestov
|
9b8dd01c0b
|
Fix bitrot in compiler.tree.debugger
|
2009-03-25 10:11:58 -05:00 |
Slava Pestov
|
6080c6e734
|
Fix stack effect redefinition
|
2009-03-22 20:16:31 -05:00 |
Slava Pestov
|
2f4e2735ea
|
Fix compile errors in compiler tests so that they actually test the compiler instead of being useless
|
2009-03-22 17:50:53 -05:00 |
Slava Pestov
|
be4fb1e7d9
|
Move call( and execute( to core
|
2009-03-16 20:11:36 -05:00 |
Slava Pestov
|
80e719ba5b
|
Remove stupid commented out code
|
2009-03-12 17:30:33 -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
|
b6f6e880bf
|
Make partially dispatched integer ops foldable
|
2009-03-11 13:57:13 -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
|
ca7a155b72
|
Merge branch 'master' into new_ui
|
2009-03-01 20:13:05 -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
|
25a877e50b
|
Merge OneEyed's patch
|
2009-02-28 17:06:55 -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
|
e0cfad4676
|
Merge branch 'master' into new_ui
|
2009-02-26 14:27:55 -06:00 |
Slava Pestov
|
bda8b2dda6
|
Better inlining for both-fixnums?
|
2009-02-26 14:11:26 -06:00 |
Slava Pestov
|
ce1bc1d6ed
|
Fixing conflicts from stack checker changes
|
2009-02-24 01:21:10 -06:00 |
Slava Pestov
|
91d0c4ed1f
|
Fix conflict
|
2009-02-22 20:02:13 -06:00 |
Doug Coleman
|
990513db60
|
use CONSTANT: in basis
|
2009-02-22 19:13:08 -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
|
421ee726b8
|
Merge branch 'master' into new_ui
|
2009-02-16 21:22:12 -06:00 |
Slava Pestov
|
6b25e99470
|
Add summary for heaps more vocabs
|
2009-02-16 21:05:13 -06:00 |
Slava Pestov
|
3045777f02
|
Fix conflict
|
2009-02-09 00:34:00 -06:00 |
Daniel Ehrenberg
|
b65b88364c
|
Updating lots of things to use call( -- )
|
2009-02-08 22:12:11 -06:00 |
slava
|
e29f18a2f4
|
Trying to fix a bad merge...
Revert "Merge branch 'master' of git://factorcode.org/git/factor"
This reverts commit da639739bd , reversing
changes made to 346a61f497 .
|
2009-02-03 00:27:34 -06:00 |
Slava Pestov
|
669548e62e
|
Clean up some usages of tuck, and add Joe's curried cleave/spread/apply combinators to kernel vocabulary
|
2009-02-02 13:43:54 -06:00 |
Slava Pestov
|
e88812b76a
|
map infimum => [ min ] map-reduce
|
2009-02-02 06:04:29 -06:00 |
Slava Pestov
|
b684db297a
|
Use [ max ] map-reduce instead of map supremum; would be nice to find a good name for this and put it in sequences vocab
|
2009-02-02 03:46:10 -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 |
Slava Pestov
|
65a53e1fa5
|
Don't keep compiled-effect around anymore
|
2009-02-23 23:55:16 -06:00 |
Slava Pestov
|
901bcccc1c
|
Fix remaining text failures
|
2009-02-23 23:25:13 -06:00 |