Commit Graph

32 Commits (8d8efb6dcedb4be96b0f67eb2d89743d77a6a549)

Author SHA1 Message Date
Slava Pestov 5fdb474c76 Fixing various test failures and updating some more vocabs for >r/r> removal 2008-12-17 22:29:32 -06:00
Slava Pestov 34792a9f23 Remove >r/r> 2008-12-17 19:17:37 -06:00
Slava Pestov db92c90569 Eliminate some usages of locals in compiler.tree.dead-code 2008-12-09 01:04:15 -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 e5ed7447ed Removing more >r/r> usages 2008-12-03 08:46:16 -06:00
Slava Pestov 7fc13ef03c dlists no longer have a length slot; tweak dlist code so that types infer better 2008-11-16 05:53:25 -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 c19f2257f4 Fix permission bits 2008-10-02 08:34:49 -05:00
Slava Pestov a211e44bb9 Found a place to use the locals in literals feature 2008-09-13 04:43:29 -05:00
Slava Pestov 10c68ebb21 New modular arithmetic optimization pass 2008-09-12 18:08:38 -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
U-SLAVA-DFB8FF805\Slava 8fed0d29eb Fix dead code elimination with alien nodes 2008-09-01 02:04:42 -05:00
Slava Pestov 3cef7c9992 Smarter usage tracking system 2008-08-30 02:31:27 -05:00
Slava Pestov 85cdb1b767 Working on new compiled usage strategy; old one was wrong 2008-08-30 00:05:27 -05:00
Slava Pestov 6ead724b25 Fixing bugs 2008-08-29 04:23:39 -05:00
Slava Pestov 74dccc7fbf Debugging compiler 2008-08-28 22:28:34 -05:00
Slava Pestov f471659810 Fix load error 2008-08-27 05:54:01 -05:00
Slava Pestov 799cefc39a Fix conflict 2008-08-27 05:52:38 -05:00
Slava Pestov fd8136786b Cleaning up DCE 2008-08-22 18:09:48 -05:00
Slava Pestov 2440fc1ceb Fixing remaining issues 2008-08-22 17:38:23 -05:00
Slava Pestov 86f11713e3 Fixing some more bugs 2008-08-22 03:12:15 -05:00
Slava Pestov 17758f3749 Stack flow checker; various fixes 2008-08-19 17:11:33 -05:00
Slava Pestov 0efec0eff1 DCE fixes 2008-08-18 21:30:10 -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 a982e564bf More DCE work 2008-08-13 18:56:50 -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