Doug Coleman
|
8c1d202b4c
|
Rename accumulator to collector, pusher to selector
|
2010-01-22 15:00:53 -06:00 |
Slava Pestov
|
df4fb4a3ee
|
Removing integers-as-sequences
|
2010-01-15 07:15:33 +13:00 |
Slava Pestov
|
0612bc6177
|
Factor source files should not be executable
|
2009-11-21 17:50:43 -06:00 |
Slava Pestov
|
b4e36608da
|
compiler.cfg: remove _gc instruction, it doesn't need to exist, and change GC checks to ensure that the right amount of space is available instead of blindly checking for 1Kb
|
2009-10-05 05:27:49 -05:00 |
Slava Pestov
|
fd2f0a602d
|
compiler.cfg.stacks.local: more accurate local replace set computation; optimizes out 'swap swap'
|
2009-08-19 22:00:21 -05:00 |
Daniel Ehrenberg
|
478b960560
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-08-14 20:11:54 -05:00 |
Daniel Ehrenberg
|
3cec74867d
|
Improving write barrier elimination; change to compiler.cfg.utilities to support this
|
2009-08-14 19:41:41 -05:00 |
Doug Coleman
|
2ed4425b7a
|
Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:
basis/calendar/calendar.factor
|
2009-08-13 19:40:02 -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 |
Daniel Ehrenberg
|
d35e1eb76c
|
Fixing write-barrier elimination; adding bb as a parameter to join-sets in dataflow analysis
|
2009-08-12 23:52:29 -05:00 |
Slava Pestov
|
d0c393aa60
|
compiler.cfg: new system to track when results of analyses need to be recomputed (reverse post order, linear order, predecessors, dominance, loops). Passes can now call needs-predecessors, needs-dominance, needs-loops at the beginning, and cfg-changed, predecessors-changd at the end. Linearization order now takes loop nesting into account, and linear scan now uses linearization order instead of RPO.
|
2009-08-08 20:02:56 -05:00 |
Slava Pestov
|
4b7ba38aab
|
compiler.cfg: virtual registers are integers now, and representations are stored off to the side. Fix bug in representation selection that would manifest if a value was used as a float and a fixnum in different branches; cannot globally unbox float in this case
|
2009-08-08 04:02:18 -05:00 |
Slava Pestov
|
725280d424
|
Split off the notion of a register representation from a register class
|
2009-08-07 17:44:50 -05:00 |
Slava Pestov
|
d20d335447
|
compiler.cfg.stacks: more accurate deconcatenatization inserts fewer partially redundant ##peeks. 11% improvement on benchmark.beust2, 2% reduction in ##peek and ##replace instructions inserted
|
2009-08-03 07:08:28 -05:00 |
Slava Pestov
|
720bfe378f
|
compiler.cfg.stacks.uninitialized: use bitand instead of min
|
2009-08-03 06:03:38 -05:00 |
Slava Pestov
|
c1c8424605
|
Compiler speedups
|
2009-08-02 09:16:21 -05:00 |
Slava Pestov
|
e1c7f7394a
|
compiler.cfg: clean up unit tests using some new utilities
|
2009-08-02 03:49:25 -05:00 |
Slava Pestov
|
2d719534cf
|
compiler.cfg.stacks: kill set now includes all locations eliminated as a result of stack height decrease; reduces number of ##replace instructions generated by 2%
|
2009-08-01 06:12:43 -05:00 |
Slava Pestov
|
be363d1a5b
|
compiler.cfg: Get inline GC checks working again, using a dataflow analysis to compute uninitialized stack locations in compiler.cfg.stacks.uninitialized. Re-enable intrinsics which use inline allocation
|
2009-07-30 09:19:44 -05:00 |
Slava Pestov
|
7590ad3574
|
compiler.cfg: introduce less temporaries when building CFG
|
2009-07-24 03:37:18 -05:00 |
Slava Pestov
|
d947c61bd7
|
compiler.cfg.stacks: now performs online local DCN
|
2009-07-23 20:54:38 -05:00 |
Slava Pestov
|
6b25e99470
|
Add summary for heaps more vocabs
|
2009-02-16 21:05:13 -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
|
94a2bfa2ea
|
Working on comparison operations, clearing out remaining dead wood
|
2008-10-21 03:20:48 -05:00 |
Slava Pestov
|
e92f795a76
|
More work on intrinsics; memory allocation and slot access now expands correctly
|
2008-10-20 20:40:15 -05:00 |
Slava Pestov
|
f092622fac
|
CFG IR is now pure SSA
|
2008-10-20 01:56:28 -05:00 |
Slava Pestov
|
239578353f
|
Simplifying vregs work in progress
|
2008-10-17 15:35:04 -05:00 |
Slava Pestov
|
68c9b22cef
|
Don't need known-tag templates any more
|
2008-10-11 14:08:00 -05:00 |
Slava Pestov
|
f979ae5b82
|
Expand slot accessors further to avoid having to use complex template decision
|
2008-10-11 14:05:15 -05:00 |
Slava Pestov
|
cf46a832e7
|
Debugging register allocator and inline allocation
|
2008-10-08 23:42:53 -05:00 |
Slava Pestov
|
0e4e05d5cd
|
Debugging new codegen
|
2008-10-08 03:51:44 -05:00 |
Slava Pestov
|
7b6d9c4c4f
|
Debugging new codegen
|
2008-10-07 20:00:38 -05:00 |
Slava Pestov
|
f436fd0c0f
|
Merging in new codegen
|
2008-10-07 16:16:50 -05:00 |