Commit Graph

1935 Commits (14ba17925486c986a4bbbea9688e010c79610aef)

Author SHA1 Message Date
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
John Benediktsson dfa763434e Fix tests broken by word hashcode change. 2015-06-09 20:37:55 -07:00
John Benediktsson d68175f48f Some more general fixes for recent refactors. 2015-06-08 19:15:29 -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
Doug Coleman fa2bf33659 compiler.tree: renaming is hard. cleanup -> cleanup-tree 2015-06-05 23:18:43 -07:00
Doug Coleman 16094d283b compiler.tree.debugger: more "cleanup" 2015-06-05 23:04:05 -07:00
Doug Coleman a0cb7b4fd8 compiler.tree.cleanup: Fix docs 2015-06-05 21:22:50 -07:00
Doug Coleman 808342076d compiler: rename cleanup to cleanup-tree, cleanup* to cleanup-tree* 2015-06-05 21:08:18 -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 aa1a5f22ba compiler.tree.debugger: fix docs using. 2015-05-14 08:16:27 -07:00
John Benediktsson 2c3492a916 minor cleanup to some docs. 2015-05-13 16:09:14 -07:00