Commit Graph

1137 Commits (ccf9e75b79d0209b45dc86b70a48735034f13d24)

Author SHA1 Message Date
John Benediktsson 9ec74563ba compiler.cfg: use "f [ or ] reduce" instead of "map [ ] any?" 2015-07-21 09:54:44 -07:00
Björn Lindqvist d24733e703 compiler.cfg.build-stack-frame: refactoring which removes the
frame-required? variable
2015-07-21 13:40:50 +02:00
Björn Lindqvist eba939c0f2 compiler.cfg.stacks.map: this vocab is subsumed by
compiler.cfg.stacks.padding which works much better
2015-07-21 13:36:11 +02:00
Björn Lindqvist bc8525bf5b compiler.cfg.build-stack-frame: the frame-required? variable needs to be
reset so that stack frames aren't included in words that doesn't need them
2015-07-21 13:35:22 +02:00
Björn Lindqvist b5333ec7aa compiler.cfg.stack-frame: using cfg get stack-frame>> instead of the
stack-frame variable that pointed to the same instance
2015-07-21 13:35:22 +02:00
John Benediktsson 5eec781b40 use ``if*`` instead of ``dup [ ] [ drop ] if``. 2015-07-20 22:24:30 -07:00
John Benediktsson 3ea9f09f6a fix some sets:members. 2015-07-20 09:32:31 -07:00
Doug Coleman 2adeed9cb3 factor: rename classes:members to class-members so it doesn't conflict with sets:members. ugh. 2015-07-20 00:32:42 -07:00
Doug Coleman 2c257f399c factor: Rename MACRO: and MACRO: to have quot as the output in stack effects. 2015-07-18 22:16:11 -07:00
Doug Coleman 128c262429 compiler.cfg.value-numbering: tests need to have this loaded. 2015-07-06 22:44:36 -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
Doug Coleman 352e5de16a core, basis, extra: Remove DOS line endings from files.
Remove whitespace from end of lines.
Add a newline to the end of each file.
2015-06-29 17:25:40 -07:00
Doug Coleman 09e4606791 compiler.cfg.debugger: alien-invoke insn nodes were printing double quotes in the dot file output. If you would pprint a string, instead print that string so the double quotes are not present in the output. 2015-06-24 18:46:39 -07:00
John Benediktsson 621b50a8e5 cpu: enable bit-test intrinsic for fixnum-bit?. 2015-06-17 19:11:10 -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
John Benediktsson d4e3adca57 compiler.cfg.ssa.destruction.coalescing: lookup variable once not twice. 2015-06-15 09:11:16 -07:00
Björn Lindqvist aeaed40d9c compiler.cfg.ssa.destruction.coalescing: new vocab to refactor and
simplify the prepare-insn code in compiler.cfg.ssa.destruction
2015-06-15 12:28:31 +02:00
Björn Lindqvist c5ec490f39 compiler.cfg.ssa.destruction: the natural-sort was malplaced, only sort
inputs from ##phi, should fix remainder of #1345
2015-06-15 12:28:30 +02: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
Björn Lindqvist ca2d64af68 compiler.cfg.ssa.destruction: try and sort the vreg pairs before
elimination, this way you always get the same leader info
2015-06-14 16:44:36 +02:00
Björn Lindqvist be342e8638 compiler.cfg.ssa.destruction: refactors maybe/must-eliminate-copy into
one try-eliminate-copy
2015-06-14 16:44:36 +02:00
Björn Lindqvist 98ae0eb02e compiler.cfg.ssa.destruction: small refactoring which removes
class-elements and maybe-eliminate-copy-later
2015-06-14 16:44:36 +02:00
Björn Lindqvist ceff23339c compiler.cfg.ssa.destruction: a bunch of new docs 2015-06-14 16:44:36 +02:00
Björn Lindqvist b4f881a9be compiler.cfg.ssa.destruction.tests: a bunch of new tests 2015-06-14 16:44:36 +02:00
John Benediktsson dfa763434e Fix tests broken by word hashcode change. 2015-06-09 20:37:55 -07:00
Doug Coleman 6e60c811ac core: Rename create to create-word, create-in to create-word-in. 2015-06-08 12:47:35 -07:00
John Benediktsson a66bed77b3 compiler.cfg.stacks.clearing: fix help-lint. 2015-05-18 10:02:35 -07:00
John Benediktsson c7ea419874 compiler.cfg.stacks.clearing: fix tests. 2015-05-17 09:32:44 -07:00
Björn Lindqvist 9ceea3c241 compiler.*: new cfg instruction ##clear, it makes it easier to see where
the compiler.cfg.stacks.clearing pass inserts extra instructions
2015-05-17 07:59:34 +02:00
Björn Lindqvist 655faadec9 compiler.*: now when we're tracking uninitialized locations instead of
initialized ones, the height slot isn't needed on ##call anymore
2015-05-17 07:59:34 +02:00
Björn Lindqvist 6dd2fe31b6 compiler.cfg.stacks.*: new attempt at fixing the gc maps bugs
the padding vocab is inverted so that instead of trying to track which
locations are live, it tracks those which are dead which is much easier
to get right.
2015-05-17 07:59:34 +02:00
John Benediktsson 2c3492a916 minor cleanup to some docs. 2015-05-13 16:09:14 -07:00
John Benediktsson 296968580a use assoc-reject instead of [ ... not ] assoc-filter. 2015-05-12 19:08:42 -07:00
John Benediktsson b366a06c41 use reject instead of [ ... not ] filter. 2015-05-12 18:50:34 -07:00
Björn Lindqvist f9a6bb27f4 compiler.cfg.*: new test-case and setting leader-map to f is better 2015-05-09 20:10:27 -07:00
Björn Lindqvist 409a32d555 compiler.cfg.stacks.padding: docs 2015-05-09 20:04:23 -07:00
Björn Lindqvist 24dc0679dc compiler.cfg.ssa.destruction: fix and testcase for the
"lookup-base-pointer* does not define a method for the POSTPONE: f
class" bug
2015-05-09 20:04:22 -07:00
Björn Lindqvist ecf3829843 compiler.cfg.stacks.*: new vocab 'padding' to perform much more accurate
live analysis. it will replace the 'map' vocab
2015-05-09 20:04:22 -07:00
Björn Lindqvist 0c2559ef6e compiler.*: a bunch more compiler docs 2015-05-09 20:04:22 -07:00
Björn Lindqvist e2c91852e4 compiler.cfg.utilities: unused word 2015-05-09 20:04:22 -07:00
Björn Lindqvist 8df92abeb9 compiler.*,cpu.*: add a height slot to ##call nodes, then other compiler
passes can much easier to accurate liveness analysis on stack locations
2015-05-09 20:04:22 -07:00