Joe Groff
01d2ef415a
get compiler tests loading
2009-09-16 09:20:47 -05:00
Slava Pestov
3047d4a451
compiler.tree.propagation: remove method inlining heuristic
2009-08-17 22:29:05 -05:00
Doug Coleman
7c92ab1ea5
move if-zero etc to math, remove 1-/1+ from math
2009-08-14 14:27:23 -05: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
c3d60e5899
compiler.tree.recursive: more accurate loop detection
2009-08-04 19:18:40 -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
0180209f4e
compiler.tree.dead-code: methods on flushable generics should be flushable
2009-07-03 21:31:26 -05:00
Joe Groff
3276ae3a08
get rid of useless test
2009-05-21 20:56:57 -05:00
Doug Coleman
332bde4173
use iota in a few places
2009-04-17 16:17:11 -05:00
Doug Coleman
dba4c0d589
fixing compiler errors in basis
2009-04-17 12:46:04 -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
b6f6e880bf
Make partially dispatched integer ops foldable
2009-03-11 13:57:13 -05:00
Slava Pestov
bda8b2dda6
Better inlining for both-fixnums?
2009-02-26 14:11:26 -06:00
Slava Pestov
901bcccc1c
Fix remaining text failures
2009-02-23 23:25:13 -06: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
e5ed7447ed
Removing more >r/r> usages
2008-12-03 08:46:16 -06:00
Slava Pestov
a32acdcff0
Tweak grouping code for better method inlining
2008-11-11 12:11:13 -06:00
Slava Pestov
7f9fbdaa4e
cleanup pass didn't properly handle conditionals where both branches were dead
2008-11-11 08:38:03 -06:00
Slava Pestov
0d83873174
Fix regression
2008-11-03 00:03:15 -06:00
Slava Pestov
0cc0a41e57
Update for compiler.intrinsics removal
2008-10-20 20:40:36 -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
f2721e0608
Help lint fixes
2008-09-11 05:04:49 -05:00
Slava Pestov
cf80dd122a
Updating code for make and fry changes
2008-09-10 22:11:40 -05:00
Slava Pestov
44f53de164
Move make to its own vocabulary, remove fry _ feature
2008-09-10 20:07:00 -05:00
Doug Coleman
8a921c791c
if-empty changes
2008-09-06 19:13:59 -05:00
Slava Pestov
a4a00f6e40
Adding missing optimizations to finalization pass
2008-09-02 22:59:49 -05:00
Slava Pestov
110a5e5162
Change equality semantics
2008-09-02 02:02:05 -05:00
Slava Pestov
f5fbd94a4c
New compiled crossref implementation
2008-08-31 01:34:00 -05:00
Slava Pestov
3cef7c9992
Smarter usage tracking system
2008-08-30 02:31:27 -05:00
Slava Pestov
c674dd9101
Regression: insufficient compiled usage recorded
2008-08-29 17:52:43 -05:00
Slava Pestov
783d0fcabf
Fix cleanup of conditionals with no live branches
2008-08-29 04:40:53 -05:00
Slava Pestov
6ead724b25
Fixing bugs
2008-08-29 04:23:39 -05:00
Slava Pestov
1fcbdf9d52
Fix more compiler bugs
2008-08-29 00:26:47 -05:00
Slava Pestov
74dccc7fbf
Debugging compiler
2008-08-28 22:28:34 -05:00
Slava Pestov
7359873b60
Minor compiler tweaks
2008-08-24 01:21:23 -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
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
c773d8256b
Fix another bug; cleanup phase too eager to remove #phi nodes
2008-08-19 21:48:08 -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
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