Commit Graph

1949 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 80ea6b8997 compiler.*: fix the tests that broke because i removed the stack-frame variable 2015-07-21 13:40:49 +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
Doug Coleman bcc78ab220 basis: whitespace. 2015-07-20 17:13:52 -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 618330b31e factor: rename system:vm -> vm-path to differentiate it from vm:vm (which is a STRUCT:) 2015-07-20 00:10:29 -07:00
Doug Coleman 1e22e9b814 factor: all FUNCTION: rename complete 2015-07-19 22:55:24 -07:00
Doug Coleman b3e8ecf738 factor: more function messups 2015-07-19 20:09:21 -07:00
Doug Coleman 6f6007570a factor: Fix rename issues. 2015-07-19 19:56:16 -07:00
John Benediktsson c25fb5f55e update some more MACRO: effects. 2015-07-19 11:42:46 -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
John Benediktsson 8a3c5c2634 Fix some tests broken by optimized? rename. 2015-07-15 11:47:03 -07:00
John Benediktsson 4c2c8f133f vm: rename some primitives, and some cleanup.
* quot-compiled? => quotation-compiled?
* optimized? => word-optimized?
2015-07-15 11:13:52 -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 999aa7c897 factor: clean up spaces in -tests files 2015-07-02 10:34:01 -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
Björn Lindqvist 95fa3eba19 compiler.tree.propagation.known-words: better way to assign the
"outputs" to the mod words + some more tests
2015-06-27 16:14:58 +02:00
Björn Lindqvist 0d02ff8e40 compiler.tree.propagation.*: new and fixed tests for the new propagation
behaviour for mod
2015-06-27 16:14:58 +02:00
Björn Lindqvist 2f835d3666 compiler.tree.propagation.*: implements downgrading to fixnum for the
mod word, maybe a first step in solving #224

factor_vm::primitive_bignum_mod is changed so that it outputs a fixnum
if the value is small enough. Then the compiler can take advantage of
knowing that expressions like [ >bignum 10 mod ] always result in a
fixnum [-9,9] and inline more arithmetic.
2015-06-27 16:14:58 +02:00
Björn Lindqvist 72fe466ac9 compiler.tree.propagation.known-words: more precise output class
assignment for all mod words

The compiler can better optimize a quotation like [ 20 fixnum-mod 55 + ]
if it knows fixnum-mod outputs a fixnum.
2015-06-27 16:14:57 +02: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 16abe47b03 compiler.tree.propagation: fix tests for bit? inlining. 2015-06-17 20:52:05 -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 f37ab939f0 compiler.*: more compiler docs 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 9dbb3e9171 compiler.codegen.gc-maps: simplies largest-spill-slot and refactors serialize-gc-maps 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