Commit Graph

25 Commits (b1d0066baa92f81bc87eda0e8e26eb6bff02fd6c)

Author SHA1 Message Date
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
Slava Pestov bf5ff11720 Update usages of all-equal? now that its in the grouping vocab 2009-01-16 15:14:30 -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 5bae69426d Stack checker cleanup and optimization
- stack-checker.state vocabulary split up into stack-checker.{state,values,recursive-state}
- code that modifies and searches recursive state factored out into stack-checker.recursive-state
- recursive state is now a set of three binary hash trees instead of an alist, and no longer contains unnecessary data
- binary hash trees are in stack-checker.recursive-state.tree: unbalanced, persistent
- ~8 second speedup on bootstrap, ~20 second speedup in "peg.javascript" require
2008-11-13 00:07:45 -06:00
Slava Pestov 792df37431 Update unit test 2008-11-11 08:50:30 -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 cf80dd122a Updating code for make and fry changes 2008-09-10 22:11:40 -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 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 6ead724b25 Fixing bugs 2008-08-29 04:23:39 -05:00
Slava Pestov 799cefc39a Fix conflict 2008-08-27 05:52:38 -05:00
Slava Pestov 8c46a3d56f Only annotate certain nodes ith value info 2008-08-24 14:02:33 -05:00
Slava Pestov 9aa6d8ae04 Compiler fixes 2008-08-22 15:30:57 -05:00
Slava Pestov 17758f3749 Stack flow checker; various fixes 2008-08-19 17:11:33 -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 4f82ebdc23 DCE work in progress 2008-08-13 14:17:04 -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