John Benediktsson
ceb75057da
change ERROR: words from throw-foo back to foo.
2015-08-13 16:13:05 -07:00
Doug Coleman
ce046b77c8
compiler: rename D to D: because it wants a token. Same for R -> R:
2015-08-13 15:23:10 -07:00
Doug Coleman
b6be8685c3
basis: ERROR: changes.
2015-08-13 03:20:39 -07:00
Doug Coleman
e0d1b14e5c
factor: don't need FROM: namespaces => set or namespaces:set anymore
2015-08-12 11:25:57 -05:00
Doug Coleman
330c7ba156
factor: Removing SLOT: nth/at/global in favor of using change: at for tuple slots named ``at`` and change-at for hashtables.
...
Redo many FROM: and QUALIFIED: and using lists.
2015-08-12 08:49:02 -05:00
Björn Lindqvist
22b871d82e
compiler.cfg.utilities: make it so block>cfg initializes spill-area-align
2015-07-29 13:01:24 +02:00
Björn Lindqvist
b544c1b352
compiler.cfg.*: some extra unit tests for the compiler
2015-07-28 17:58:29 -07:00
Björn Lindqvist
2c5f00d865
compiler.cfg.*: even more docs
2015-07-28 17:58:28 -07:00
Björn Lindqvist
b4e4792cb6
compiler.cfg.*: a bunch of docs updates
2015-07-28 17:58:27 -07:00
Björn Lindqvist
31aae02916
compiler.cfg.linear-scan.live-intervals: simpler code for finding the
...
sync points in the cfg
2015-07-28 17:58:27 -07:00
Doug Coleman
892c62e1dc
factor: second stab at [ ] [ ] unit-test -> { } [ ] unit-test
2015-07-03 09:39:59 -07:00
Doug Coleman
40892c0302
tests: prefer ${ } instead of 1array
2015-07-02 14:56:14 -07:00
Doug Coleman
59f3b1ea57
Revert "factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!"
...
Needs a bit more work.
This reverts commit 7e54cc2824
.
2015-07-02 13:47:06 -07:00
Doug Coleman
7e54cc2824
factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!
2015-07-02 11:36:08 -07:00
John Benediktsson
423b2afb91
compiler.cfg.linear-scan.allocation: fix docs for free-position.
2015-06-16 20:38:34 -07:00
Björn Lindqvist
3678f62508
x86.64: change the register order so that RBX is allocated before RCX
2015-06-16 18:28:32 -07:00
Björn Lindqvist
8c8605d11a
compiler.cfg.linear-scan.*: more tests and docs for allocation and state
2015-06-16 18:28:32 -07:00
Björn Lindqvist
78fe8bf1dc
compiler.cfg.linear-scan.*: dont use a hashtable here, it fixes register
...
allocation so it's always in the same order as machine-registers
2015-06-16 18:28:32 -07:00
Björn Lindqvist
c0645ecafe
compiler.cfg.linear-scan.*: fix help-lint errors
2015-06-14 16:44:37 +02:00
Björn Lindqvist
5ad35fabd1
compiler.cfg.*: lots of more compiler docs
2015-06-14 16:44:37 +02:00
Björn Lindqvist
418438ab13
compiler.cfg.linear-scan.*: change compute-live-intervals so that it
...
returns only one sequence, it makes some words a little simpler
2015-06-14 16:44:37 +02:00
Björn Lindqvist
91118ae5df
compiler.cfg.linear-scan.allocation.state: fix #1345 by adding vreg to
...
the heap key
By having { start end vreg } as the key in the min-heap ordering is
guaranteed even if two intervals share the same start and end.
2015-06-14 16:44:37 +02:00
John Benediktsson
dfa763434e
Fix tests broken by word hashcode change.
2015-06-09 20:37:55 -07:00
John Benediktsson
2c3492a916
minor cleanup to some docs.
2015-05-13 16:09:14 -07:00
John Benediktsson
b366a06c41
use reject instead of [ ... not ] filter.
2015-05-12 18:50:34 -07:00
Doug Coleman
62ea429c2b
compiler.cfg.linear-scan.assignment: Trivial docs fix.
2015-04-30 18:39:31 -07:00
John Benediktsson
a7cd03b45d
compiler.cfg.linear-scan.assignment: fix help-lint.
2015-04-30 17:20:52 -07:00
Björn Lindqvist
6097e80178
compiler.cfg.*: fixing tests so they work on 32bit archs too
2015-04-30 04:49:48 +02:00
Björn Lindqvist
6215561ad4
compiler.cfg.*: more docs and removing a test that isn't relevant anymore
2015-04-29 09:31:59 -07:00
Björn Lindqvist
2077ae9180
compiler.cfg.linear-scan.assignment: refactoring vreg>reg and
...
assign-registers-in-block so locals aren't needed
2015-04-29 09:31:59 -07:00
Björn Lindqvist
135d7f5ff3
compiler.cfg.*: more unit tests
2015-04-29 09:31:59 -07:00
Björn Lindqvist
c3ca8bd859
compiler.cfg.*: even more compiler docs
2015-04-29 09:31:58 -07:00
Björn Lindqvist
997f95196c
compiler.cfg.*: lots of new unit tests
2015-04-29 09:31:58 -07:00
Björn Lindqvist
167d1598b3
compiler.cfg.linear-scan.allocation.*: lots more docs and some word simplifications
2015-04-29 09:31:58 -07:00
Björn Lindqvist
16f6025979
compiler.cfg.linear-scan.allocation.spilling: docs and tests for this vocab
2015-04-29 09:31:58 -07:00
Björn Lindqvist
5cd44dc07c
compiler.cfg.linear-scan.allocation.state: set spill-area-size/align when the cfg tuple is created
2015-04-29 09:31:57 -07:00
Björn Lindqvist
d486de889d
compiler.cfg.*: smaller doc improvements
2015-04-29 09:31:57 -07:00
Björn Lindqvist
4cda101717
compiler.cfg.linear-scan.allocation.state: more docs and tests for vocab
2015-04-29 09:31:57 -07:00
Björn Lindqvist
043b6d5377
compiler.cfg.linear-scan.linear-scan: refactoring of word so that locals doesn't need to be used and more docs (by moving comments)
2015-04-29 09:31:56 -07:00
Björn Lindqvist
ded3760d46
compiler.*: merge of ##inc-r and ##inc-d into one instruction ##inc with a loc slot
...
this is nice because it leads to simpler code and matches how ##peek and ##replace instructions work
2015-04-29 09:31:53 -07:00
Doug Coleman
ceebc1d6c1
compiler: Fix help-lint for @bjourne's recent awesome docs.
2015-01-17 14:02:59 -08:00
Björn Lindqvist
5782855343
compiler.cfg.*: more docs
2014-12-31 03:37:16 +01:00
John Benediktsson
2a893a110a
compiler.cfg.linear-scan.allocation.state: don't use slot.syntax.
2014-12-15 13:10:59 -08:00
Björn Lindqvist
aee55f1b83
compiler.cfg.linear-scan.assignment: forgot that i removed live-intervals>min-heap
2014-12-15 21:04:53 +01:00
Björn Lindqvist
d6c1c075ff
compiler.cfg.linear-scan.allocation: using slurp-heap
2014-12-15 20:48:34 +01:00
Björn Lindqvist
84f8f26ce8
compiler.cfg.linear-scan.allocation.state: doc fixing
2014-12-15 20:44:53 +01:00
Björn Lindqvist
35d00da765
compiler.cfg.linear-scan.allocation.*: maybe a fix for #1227
...
The register allocator pops from the unhandled-intervals and
unhandled-sync-points heaps. If two live intervals share the same
start slot, then they can be popped in either order leading to
differently generated code. So instead use one
heap (unhandled-min-heap) and both the start and end slot as the heap
key to resolve tie-breakers
2014-12-15 20:44:53 +01:00
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