Commit Graph

979 Commits (17d12ffaea06ff1030c1ab040aec4b0535497915)

Author SHA1 Message Date
John Benediktsson ad9d44aa2b compiler.cfg.linear-scan.allocation.state: simplify init-unhandled. 2014-12-01 22:18:15 -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 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
Björn Lindqvist b5754d32ef compiler.cfg.dependence: moved tree verification code to .tests
Since verify-trees just checked that make-trees worked correctly, it's
better to have that code in the test vocab instead of slowing down
every compile by running it
2014-11-22 17:31:39 -08:00
Björn Lindqvist 2ea1a999a4 compiler.cfg.dependence.tests: unit tests for the dependence vocab 2014-11-22 17:31:39 -08:00
Björn Lindqvist 3f3cc0eb8a compiler.cfg.dependence: now the nodes are on the stack instead of being saved in a dynamic variable (fp++) 2014-11-22 17:31:39 -08:00
Björn Lindqvist 2cfd55b864 compiler.cfg.dependence/scheduling: refactoring, trying to get rid of the ugly usage of nodes dynamic variable 2014-11-22 17:31:39 -08:00
Björn Lindqvist 0a7726b66d compiler.cfg.dependence: more docs for the vocab 2014-11-22 17:31:38 -08:00
Björn Lindqvist a1b20e451b compiler.cfg.scheduling: split-insns returns a 3-tuple instead of 3 items on the stack 2014-11-22 17:31:38 -08:00
Björn Lindqvist c777cb954a compiler.cfg.scheduling: refactor to use split-insns and compiler.cfg.linear-scan.numbering + tests 2014-11-22 17:31:38 -08:00
Björn Lindqvist 96396cb3ad compiler.*: use block>cfg and insns>block in many tests instead of wordier code 2014-11-22 17:31:38 -08:00
Björn Lindqvist c8a022423e compiler.cfg.utilities: move and rename the helper words block>cfg, insns>block and insns>cfg, they are useful to many testing vocabs 2014-11-22 17:31:38 -08:00
John Benediktsson 44f31ee13e use swapd instead of [ swap ] dip. 2014-11-21 11:56:17 -08:00
Doug Coleman 46174ab748 compiler.cfg.build-stack-frame: Fix test for win64 2014-11-18 14:21:45 -08:00
John Benediktsson 60d0937041 compiler.cfg.instructions: fix help-lint. 2014-11-16 16:22:13 -08:00
Björn Lindqvist 0d9316f4f9 Docs: more various compiler doc improvements 2014-11-16 06:25:55 -08:00
Björn Lindqvist d3c91bea72 compiler.cfg.linear-scan.*: stub docs and tests 2014-11-16 06:25:54 -08:00
Björn Lindqvist 3b86d4b9ba compiler.cfg.def-use: docs 2014-11-16 06:25:54 -08:00
Björn Lindqvist 90b31d543b compiler.cfg.instructions: more docs 2014-11-16 06:25:54 -08:00
Björn Lindqvist f06f59b956 Docs: smallish improvements to compiler vocabs 2014-11-16 06:25:54 -08:00
Björn Lindqvist bc5c23b162 compiler.cfg.linear-scan.assignment: stub docs 2014-11-16 06:25:54 -08:00
Björn Lindqvist 1eac4afc8b compiler.cfg.linear-scan.allocation.state: sub docs and tests 2014-11-16 06:25:53 -08:00
Björn Lindqvist 0a30bd9218 compiler.cfg.stack-frame: stub docs and tests for vocab 2014-11-16 06:25:53 -08:00
Björn Lindqvist 8a0b4c3d26 compiler.cfg.build-stack-frame: stub docs and tests for vocab 2014-11-16 06:25:53 -08:00
Björn Lindqvist cbc8681187 Docs: compiler.cfg.instructions improvements 2014-11-16 06:25:53 -08:00
Doug Coleman 7cfa9d9518 assocs: Make map-index-as support seq or assoc exemplars and move map-index, map-index-as to assocs because they need to use new-assoc. Make zip-index-as support assoc exemplars. Fix up docs and tests.
assocs.extras: Remove zip-as and move tests to assocs.
2014-11-08 18:18:00 -08:00
Doug Coleman 56f1b87a6f basis, extra: Use zip-index. 2014-11-08 00:46:30 -08:00
Doug Coleman 1ee9a8ea13 compiler.cfg.stacks.local: Have unit test load prettyprint implementation for ds-loc so that it always prints as "D 4". 2014-10-22 10:31:27 -07:00
Björn Lindqvist a617855aef Docs: fixing smaller help-lint nitpicks 2014-10-19 14:05:06 +02:00
Björn Lindqvist 164af978ba compiler.cfg.*: more stub docs for cfg construction words 2014-10-19 13:45:42 +02:00
Björn Lindqvist 83cf4b9d57 compiler,cpu: more docs 2014-10-17 23:18:57 +02:00
Björn Lindqvist 476ebf5b25 compiler.cfg.*: more docs, tests and a small refactoring of the
admissible-registers word
2014-10-17 23:18:57 +02:00
Doug Coleman 4c6435934b compiler.cfg.stacks.vacant: Fix docs for word rename. 2014-09-08 17:48:22 -07:00
Björn Lindqvist ffacc8370d compiler.cfg.stacks.vacant: ##call instructions clear the set of overinitialized locations 2014-09-08 14:54:18 -07:00
Björn Lindqvist 9836d6a1d0 VM: move the stack scrubbing logic to call_frame_slot_visitor to avoid visiting the callstack twice
primitive_minor_gc() iterates the stack twice, first to scrub stack
locations, then to trace overinitialized ones and gc roots. By running
visit_callstack() before visit_stack_elements() you only need to do it
once.
2014-09-08 14:54:18 -07:00
Björn Lindqvist 46082d836a compiler.cfg.stacks.vacant: invert meaning of 0/1 for overinit:ed locs to make some logic simpler 2014-09-08 14:54:17 -07:00
Björn Lindqvist 70e4f2a8b7 compiler.cfg.instructions: added check-d and check-r slots to gc-map
the data is output from compiler.cfg.stacks.vacant in a reasonable
format but not yet used for code generation.
2014-09-08 14:54:17 -07:00