Slava Pestov
44a604fdbe
compiler.tree: remove some code duplication concerning #alien nodes
2010-01-07 16:06:07 +13:00
Slava Pestov
0612bc6177
Factor source files should not be executable
2009-11-21 17:50:43 -06:00
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
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
43a1834e0b
stack-checker: fix case where invalid code could infer
2009-05-23 15:50:35 -05:00
Slava Pestov
66a9416473
Update documentation for stricter vocabulary search path semantics
2009-05-16 00:29:21 -05:00
Slava Pestov
65faa3fda3
Fix unit tests and load errors for slip removal
2009-05-10 17:03:41 -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
05f3f9dcb9
Fixing unit tests for stack effect inference changes
2009-04-20 21:15:19 -05:00
Slava Pestov
6b25e99470
Add summary for heaps more vocabs
2009-02-16 21:05:13 -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
145b635eb6
More optimization intended to reduce compile time. Another 10% speedup on compiling empty PEG parser
...
- new map-flat combinator replaces usages of 'map flatten' in compiler
- compiler.tree.def-use.simplified uses an explicit accumulator instead of flatten
- compiler.tree.tuple-unboxing uses an explicit accumulator instead of flatten
- fix inlining regression from last time: custom inlining results would sometimes be discarded
- compiler.tree's 3each and 3map combinators rewritten to not use flip
- rewrite math.partial-dispatch without locals (purely stylistic, no performance increase)
- hand-optimize flip for common arrays-of-arrays case
- don't run escape analysis and tuple unboxing if there are no allocations in the IR
2008-12-06 11:17:19 -06:00
Slava Pestov
26f309d2ae
Trying to make PEGs compile faster by reducing the number of low level IR nodes: merge functionality of #>r and #r> into #shuffle, and generate 1 node instead of 3 for calls to get-local
2008-11-11 18:46:31 -06:00
Slava Pestov
0cc0a41e57
Update for compiler.intrinsics removal
2008-10-20 20:40:36 -05:00
Slava Pestov
40da49bef5
Perform loop detection before normalization, clean up normalization pass, more aggressive recursive return value propagation. Fixes regression on nsieve benchmark
2008-09-12 05:17:27 -05:00
Slava Pestov
e1716d92b3
Remove delegation slot
2008-09-03 03:46:56 -05:00
Slava Pestov
a4a00f6e40
Adding missing optimizations to finalization pass
2008-09-02 22:59:49 -05:00
Slava Pestov
6717d3743e
Fix escape analysis bug; speedup on fib4 benchmark
2008-08-31 09:03:03 -05:00
Slava Pestov
7359873b60
Minor compiler tweaks
2008-08-24 01:21:23 -05:00
Slava Pestov
9aa6d8ae04
Compiler fixes
2008-08-22 15:30:57 -05:00
Slava Pestov
86f11713e3
Fixing some more bugs
2008-08-22 03:12:15 -05:00
Slava Pestov
aa9341e579
Enforce that usages of >r/r> must be balanced within a quotation
2008-08-18 20:49:03 -05:00
Slava Pestov
9b6fb70eba
Debugging optimizer
2008-08-18 15:47:49 -05:00
Slava Pestov
e1987d4af9
Debugging new optimizer
2008-08-14 23:35:19 -05:00
Slava Pestov
a61e13f7be
More aggressive DCE
2008-08-13 23:52:49 -05:00
Slava Pestov
56d272df9e
Merge branch 'master' into new_optimizer
2008-08-12 03:36:44 -05:00
Slava Pestov
f2a5a30c6f
New front-end and high-level optimizer lands
2008-08-12 03:22:45 -05:00