Doug Coleman
|
3f3d57032b
|
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring
|
2009-08-13 19:21:44 -05:00 |
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
|
422dd24bad
|
alien.complex: fix tests
|
2009-08-11 14:07:33 -05:00 |
Philipp Brüschweiler
|
26859a45eb
|
various doc fixes
|
2009-08-11 16:58:47 +02: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
|
8a9c15ab0b
|
compiler.tree.escape-analysis: if the output of an #introduce node has an immutable tuple class type declaration, and it is not passed to any subroutine calls, or returned from the word, then unbox it. This speeds up vector arithmetic words on specialized arrays, because the specialized array is unboxed up-front, eliminating an indirection on every loop iteration
|
2009-08-09 16:29:21 -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
|
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 |