Björn Lindqvist
|
8a011c8366
|
compiler.cfg.*: more docs
|
2014-12-15 20:44:07 +01:00 |
Björn Lindqvist
|
c810677b47
|
compiler.cfg.linear-scan.*: refactoring to simplify init-allocator and get rid of init-unhandled
|
2014-12-15 20:44:06 +01:00 |
Björn Lindqvist
|
fab478482e
|
compiler.cfg.linear-scan.allocation: refactoring to simplify the (allocate-registers) recursion
|
2014-12-15 20:44:06 +01:00 |
Björn Lindqvist
|
52c6009aeb
|
compiler.cfg.linear-scan.assignment: utility word heap-pop-while which lets you express expire-old-intervals and activate-new-intervals more nicely + tests
|
2014-12-15 20:40:49 +01:00 |
Björn Lindqvist
|
0af46ac4de
|
compiler.cfg.linear-scan.assignment: more docs and refactoring of the init-unhandled and assign-registers-in-block words
|
2014-12-15 20:40:49 +01:00 |
Björn Lindqvist
|
a7137f32ff
|
compiler.cfg.save-contexts: refactoring of the vocab, using the simple-optimization combinator and union classes you can shorten it a lot
|
2014-12-15 20:36:27 +01:00 |
John Benediktsson
|
e5c69d3e9b
|
compiler: try this for compiler.cfg.builder.alien.
|
2014-12-13 18:44:35 -08:00 |
John Benediktsson
|
a689211ae1
|
compiler.cfg.builder: use compiler.cfg.builder.alien.
|
2014-12-13 18:08:50 -08:00 |
John Benediktsson
|
c65877104e
|
compiler: cleanup usings.
|
2014-12-13 16:10:21 -08:00 |
John Benediktsson
|
46e0426795
|
compiler.cfg.stack-frame: fix tests.
|
2014-12-12 17:14:39 -08:00 |
John Benediktsson
|
1911b183a0
|
compiler.cfg.build-stack-frame: fix tests.
|
2014-12-12 15:22:22 -08:00 |
John Benediktsson
|
8f4c4ea2e1
|
compiler.cfg.build-stack-frame: some cleanup.
|
2014-12-12 11:59:23 -08:00 |
John Benediktsson
|
c3a4bdcf68
|
compiler.cfg.linear-scan.resolve: use if-empty.
|
2014-12-11 14:00:50 -08:00 |
John Benediktsson
|
068ddd6c7b
|
compiler: cleanup cfg passes to have stack effect ( cfg -- )
|
2014-12-11 12:48:43 -08:00 |
Björn Lindqvist
|
33500db79f
|
compiler.cfg.*: help-lint and test case fixes
|
2014-12-11 15:02:40 +01:00 |
Björn Lindqvist
|
08e9f18c3b
|
compiler.cfg.*: fix for test cases that broke due to stack effect changes
|
2014-12-11 14:30:47 +01:00 |
Björn Lindqvist
|
bfc0ef815b
|
compiler.cfg.dominance: fix for #1227, the dom children needs to be sorted to ensure that the same instruction sequence is generated every time
|
2014-12-11 14:30:47 +01:00 |
Björn Lindqvist
|
628c87c5b1
|
compiler.cfg.utilities: adding connect-bbs and make-edges
|
2014-12-11 14:30:47 +01:00 |
Björn Lindqvist
|
00e2d9f116
|
compiler.cfg.dominance: some more docs
|
2014-12-11 14:30:47 +01:00 |
Björn Lindqvist
|
c85175c10c
|
compiler.cfg.*: new utility word apply-passes to improve the looks of long cleave's where each quotation only contains one word
|
2014-12-11 14:30:47 +01:00 |
Björn Lindqvist
|
e371327ec4
|
compiler.cfg.ssa.construction.tests: fix tc broken by previous commit
|
2014-12-11 14:30:47 +01:00 |
Björn Lindqvist
|
befbe0bb59
|
compiler.cfg.dominance: changed stack effect compute-dominance ( cfg -- cfg' ) to ( cfg -- )
|
2014-12-11 14:30:47 +01:00 |
Björn Lindqvist
|
e5866dfa80
|
compiler.cfg.*: changed stack effect of needs-predecessors from ( cfg -- cfg') to ( cfg -- )
|
2014-12-11 14:30:47 +01:00 |
Björn Lindqvist
|
76cb665a8d
|
compiler.cfg.dominance: change needs-dominance effect from ( cfg -- cfg') to ( cfg -- )
|
2014-12-11 14:30:46 +01:00 |
Björn Lindqvist
|
054982f24a
|
compiler.cfg.*: docs for compiler.cfg.dominance and compiler.cfg.ssa.construction
|
2014-12-11 14:30:46 +01:00 |
Björn Lindqvist
|
53b7f82368
|
Docs: more compiler docs
|
2014-12-11 14:30:46 +01:00 |
Björn Lindqvist
|
5fe9ce4235
|
compiler.cfg: fix stack effect of cfg-changed and predecessors changed to ( cfg -- )
|
2014-12-11 14:30:46 +01:00 |
Björn Lindqvist
|
a0d4e9b417
|
compiler.cfg.stacks.uninitialized: this compiler pass isn't used anymore -- let's get rid of it
|
2014-12-11 14:30:46 +01:00 |
Björn Lindqvist
|
8744d908b6
|
compiler.cfg.*: fix stack effect of compiler passes in optimize-cfg
since they all modify the cfg in place, it is better if their stack
effect is ( cfg -- ) instead of ( cfg -- cfg' )
|
2014-12-11 14:30:45 +01:00 |
Björn Lindqvist
|
971a157369
|
compiler.cfg.instructions: ##alien-assembly should be in the alien-call-insn union but not gc-map-insn
|
2014-12-08 18:13:46 -08:00 |
Björn Lindqvist
|
52d3affeb8
|
compiler.cfg.*: the ##alien-assembly instruction does not use a gc-map
|
2014-12-08 18:13:46 -08:00 |
John Benediktsson
|
ad9d44aa2b
|
compiler.cfg.linear-scan.allocation.state: simplify init-unhandled.
|
2014-12-01 22:18:15 -08:00 |
John Benediktsson
|
c0d6fdedd1
|
classes.tuple: use slots>tuple when possible.
|
2014-11-29 16:54:50 -08:00 |
Doug Coleman
|
cd8b686639
|
compiler.tests.alien: Test demonstrates padding bytes breaking struct= on linux32. Disable for now.
|
2014-11-24 08:20:28 -08:00 |
Doug Coleman
|
20add9544a
|
compiler.cfg: cfg>insns has to go in linearization because of bootstrap circularity. Fix usings.
|
2014-11-23 22:53:27 -08:00 |
Björn Lindqvist
|
4c07d04417
|
compiler.cfg.*: getting an instruction sequence from a cfg is used in a few tests so let's make a word for it
|
2014-11-24 06:25:34 +01:00 |
Björn Lindqvist
|
22c512788b
|
compiler.codegen.gc-maps.tests: fix tests for win 64
|
2014-11-24 04:20:34 +01:00 |
Björn Lindqvist
|
9b7a873f6d
|
compiler.cfg.build-stack-frame.tests: improved fix for the test case
|
2014-11-24 03:42:27 +01:00 |
Doug Coleman
|
d40faa3bdc
|
compiler.cfg: Add vocabulary for words defined just to test compiler.cfg.
|
2014-11-23 01:06:46 -08:00 |
Doug Coleman
|
3b3103b545
|
compiler.cfg.scheduling: Fix V{ } -> { } unit test.
|
2014-11-22 17:43:27 -08:00 |
Björn Lindqvist
|
964ae127a2
|
compiler.cfg.dependence: docs
|
2014-11-22 17:31:40 -08:00 |
Björn Lindqvist
|
aca14563b0
|
compiler.cfg.dependence/scheduling: fix(?) for #1187, just avoid shuffling ##peek...
|
2014-11-22 17:31:40 -08:00 |
Björn Lindqvist
|
9d0379b9ba
|
compiler.cfg.dependence: if node subclasses identity-tuple it doesn't need the number slot
|
2014-11-22 17:31:40 -08:00 |
Björn Lindqvist
|
eb9ca1c6fe
|
compiler.cfg.dependence: node class doesn't need parent attribute, that's nice
|
2014-11-22 17:31:40 -08:00 |
Björn Lindqvist
|
0feece123c
|
compiler.cfg.dependence/scheduling.tests: new tests, some that doesnt work yet
|
2014-11-22 17:31:40 -08:00 |
Björn Lindqvist
|
8347f43f84
|
compiler.cfg.dependence/scheduling: refactoring to get rid of node's follows>>
|
2014-11-22 17:31:40 -08:00 |
Björn Lindqvist
|
645a70f1d4
|
compiler.cfg.scheduling: refactoring to get rid of the roots dynamic variable
|
2014-11-22 17:31:39 -08:00 |
Björn Lindqvist
|
a96fff60af
|
compiler.cfg.dependence: keys-for ?first is not deterministic, use tiebreak-parents to get predictable ordering
|
2014-11-22 17:31:39 -08:00 |
Björn Lindqvist
|
7ebceb50e5
|
compiler.cfg.dependence/scheduling: select-parent and roots moved to scheduling
the roots stuff is only used by compiler.cfg.scheduling, so it's more
simple to have it there than in compiler.cfg.dependence
|
2014-11-22 17:31:39 -08:00 |
Björn Lindqvist
|
586c47e5ab
|
compiler.cfg.dependence/scheduling: more readable version of the select word
|
2014-11-22 17:31:39 -08:00 |