Commit Graph

1188 Commits (2c82dfb51ba6923c2e7dcf3fac5109ae9da528f2)

Author SHA1 Message Date
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
Björn Lindqvist 8f02cad9c5 compiler.cfg.*: a bunch of new tests 2015-05-09 20:04:22 -07:00
Björn Lindqvist a195e361df compiler.cfg.stacks.*: create-locs, word for creating stack locations
from a sequence
2015-05-09 20:04:21 -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 5ca23c4793 compiler.*: a few extra doc fixes 2015-04-30 04:51:58 +02: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 b4e7ffede4 compiler.cfg.stacks.local: test and fix for a silly bug in
compute-local-kill-set (switched the order on ds and rs)
2015-04-29 09:32:00 -07:00
Björn Lindqvist 9fc73c3355 compiler.cfg.stacks.local: unused words 2015-04-29 09:32:00 -07:00
Björn Lindqvist d0c1493f36 compiler.cfg.linearization: can't use slurp/replenish-queue here because
the successors need to be pushed to the back of the deque
2015-04-29 09:32:00 -07:00
Björn Lindqvist 24ca0e3160 compiler.cfg.*: reverting the commit
5fd9e61bc04b054d58b8eeecbe9b5c59f68f2195, caused bad regressions in SIMD code
2015-04-29 09:31:59 -07:00
Björn Lindqvist 050e15ce83 compiler.cfg.debugger: new words build-optimized-tree and run-passes to
remove some duplicated code
2015-04-29 09:31:59 -07: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 17dff48402 compiler.cfg.ssa.*: refactors words to use stack parameters instead of
dynamic variables
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 992314d2de compiler.cfg.*: new word for consuming deques slurp/replenish-deque
most uses of slurp-deque processes one item and pushes a sequence of
items to continue working with. it can be formalized into a
slurp/replenish-deque combinator which also reduces the amount of
variables you need to use
2015-04-29 09:31:58 -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 63a1e90af8 compiler.cfg.ssa.cssa, compiler.cfg.ssa.destruction, compiler.utilities: docs & tests 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 b827bc75cc compiler.*: bunch of new docs for some compiler instructions 2015-04-29 09:31:58 -07:00
Björn Lindqvist a17e943e88 compiler.cfg.liveness: refactoring so that words that doesn't modify
the live-set doesnt return it

e.g it's clearer when the effect is ( live-set insn -- ) than ( live-set insn -- live-set ) that the live-set is modified in place
2015-04-29 09:31:57 -07:00
Björn Lindqvist c876d79b9d compiler.cfg.liveness: lots of more tests and some docs 2015-04-29 09:31:57 -07:00
Björn Lindqvist aa6fbf475e compiler.cfg: the id slot of basic-block appears to not be needed 2015-04-29 09:31:57 -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 6c6f85428c compiler.cfg.intrinsics.simd: refactoring to use assocs instead of case-s for lookups + tests 2015-04-29 09:31:56 -07:00
Björn Lindqvist 745d3f29b2 compiler.cfg.*: a bunch of new docstrings and other doc fixes 2015-04-29 09:31:56 -07:00
Björn Lindqvist f9812d9874 compiler.cfg.stacks.*: possible fix for #1289
instead of delaying outputting ##replace instructions to when they are
needed, output them directly in the block so that "holes" in the
stacks are avoided.
2015-04-29 09:31:56 -07:00
Björn Lindqvist 177a356240 compiler.cfg.stacks.local: refactorings on the vocab to try and make it using less dynamic variables 2015-04-29 09:31:56 -07:00
Björn Lindqvist 91144c0712 compiler.cfg.stacks.*: simplify the code a little by making replace-sets, peek-sets and kill-sets contain hash-sets instead of hash-tables 2015-04-29 09:31:56 -07:00
Björn Lindqvist 0ff4c68e15 compiler.cfg.stacks.local: to simplify, end-local-analysis can take the block it operates on as argument 2015-04-29 09:31:56 -07:00
Björn Lindqvist b983053130 compiler.cfg.*: putting test-init in compiler.cfg.stacks.tests didn't work, put new word cfg-unit-test in compiler.test 2015-04-29 09:31:55 -07:00
Björn Lindqvist 4390561a6e compiler.cfg.*: new word reset-vreg-counter, useful for making test writing more convenient 2015-04-29 09:31:55 -07:00
Björn Lindqvist 2536943e82 compiler.cfg.*: new word connect-Nto1-bbs
using that word predecessors is already up-to-date so calling needs-predecessors isn't needed
2015-04-29 09:31:55 -07:00
Björn Lindqvist 8a7699e42c compiler.cfg.*: refactoring to remove the initial-basic-block word 2015-04-29 09:31:55 -07:00
Björn Lindqvist 6559382028 compiler.cfg.*: ds-load removed 2015-04-29 09:31:55 -07:00
Björn Lindqvist cc1903bec1 compiler.cfg.*: some refactoring in the stack tracking for #shuffle nodes
instead of having separate words for the stacks like inc-d/r and ds/rs-store use generic words that work on either stack
2015-04-29 09:31:55 -07:00
Björn Lindqvist 837e098d41 compiler.cfg.*: a little more docs 2015-04-29 09:31:54 -07:00
Björn Lindqvist ba4736ff75 compiler.cfg.stacks.local: change current-height to a two-tuple { { d emit-d } { r emit-r } } it makes the code a bit simpler 2015-04-29 09:31:54 -07:00
Björn Lindqvist c360f0123b compiler.cfg.stacks: a few unused words removed 2015-04-29 09:31:54 -07:00
Björn Lindqvist acc1bd3221 compiler.*: removing the check-d and check-r slots from gc-map and adjusting code that depended on those 2015-04-29 09:31:53 -07:00
Björn Lindqvist 2cd2aa498a VM: the compiler doesn't emit any live overinitialized locations anymore
Any overinitialized location immediately becomes garbage and is not
reused again. This is very nice because then the gc maps can be
simpler again.
2015-04-29 09:31:53 -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
Björn Lindqvist c7d9cb4c3d compiler.cfg.*: new and improved docs 2015-04-29 09:31:53 -07:00
Björn Lindqvist 74ea76a3c9 compiler.cfg: unlikely? slot unused, lets get rid of it 2015-04-29 09:31:53 -07:00
Björn Lindqvist bb504b7c3d compiler.cfg.dependence: this vocab was only used by scheduling so it isn't needed anymore 2015-04-29 09:31:53 -07:00
Björn Lindqvist b3ebb04d6d compiler.cfg.*: since the height and scheduling compiler passes aren't used anymore lets remove them 2015-04-29 09:31:53 -07:00
Doug Coleman e4e6c0031a compiler.cfg.stacks.clearing: Fix help-lint-all. 2015-01-22 12:30:49 -08:00
Björn Lindqvist d2c0ae9fd9 compiler.cfg.stacks.*: more docs 2015-01-22 12:17:21 -08:00
Björn Lindqvist 71b054cf39 compiler.cfg.stacks.*: updated tests to match 2015-01-22 12:17:21 -08:00
Björn Lindqvist 3c1f223d90 compiler.cfg.stacks.*: use insn# as the key in the stack-record instead of the insn tuple itself 2015-01-22 12:17:21 -08:00
Björn Lindqvist d19869f906 compiler.cfg.stacks.*: many new and fixed tests 2015-01-22 12:17:21 -08:00
Björn Lindqvist d4493858da compiler.cfg.stacks.*: vacant-peek checking readded 2015-01-22 12:17:20 -08:00
Björn Lindqvist 640759ffed compiler.cfg.*: new step in finalization: clear-uninitialized
this step is supposed to analyze the cfg, find where there are peeks
that can cause stack underflow, and insert replace-imm instructions so
that there are no uninitialized stack locations if they do. could fix #1187
2015-01-22 12:17:20 -08:00
Björn Lindqvist fd06e22e9a compiler.cfg.stacks.map: new vocab for creating an assoc that contains the stack state for each instruction in a cfg 2015-01-22 12:17:20 -08:00
Björn Lindqvist 163fef12f9 compiler.cfg.*: detached the normalize-height and schedule-instructions passes
those stages cause uninitialized "holes" in the stacks which in turn
causes gc errors if stack underflows occur
2015-01-22 12:17:20 -08: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 d0dde922bd compiler.cfg.*: new unit test vocabs 2014-12-31 03:37:17 +01:00
Björn Lindqvist 5782855343 compiler.cfg.*: more docs 2014-12-31 03:37:16 +01:00
Björn Lindqvist 0432b17409 compiler.cfg.*: refactoring away the compute-global-sets word 2014-12-31 03:37:16 +01:00
Björn Lindqvist 79d294e4bf compiler.cfg.*: docs and more tests 2014-12-31 03:37:16 +01:00
Björn Lindqvist 1bd4525ac6 compiler.cfg.stacks.local: refactoring making stack-changes and height-changes take and return stuff instead of using variables and the make building 2014-12-31 03:37:16 +01:00
Björn Lindqvist e87be7b5c8 compiler.cfg.parallel-copy: docs 2014-12-31 03:37:16 +01:00
Björn Lindqvist 24c9dbe160 compiler.cfg.stacks.height: these words are unused 2014-12-31 03:37:16 +01:00
Björn Lindqvist 2ccbcd6af6 compiler.cfg.*: more compiler docs 2014-12-31 03:37:16 +01:00
Björn Lindqvist e968c16139 compiler.cfg.stacks.finalize: initial docs 2014-12-31 03:37:16 +01:00
John Benediktsson c2c722891e compiler.cfg.save-contexts: fix help-lint. 2014-12-15 15:11:06 -08: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 173f7c0869 compiler.cfg.scheduling: refactoring to use the simple-optimization combinator 2014-12-15 20:44:07 +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
Björn Lindqvist 52c6009aeb compiler.cfg.linear-scan.assignment: utility word heap-pop-while which lets you express expire-old-intervals and activate-new-intervals more nicely + tests 2014-12-15 20:40:49 +01:00
Björn Lindqvist 0af46ac4de compiler.cfg.linear-scan.assignment: more docs and refactoring of the init-unhandled and assign-registers-in-block words 2014-12-15 20:40:49 +01:00
Björn Lindqvist a7137f32ff compiler.cfg.save-contexts: refactoring of the vocab, using the simple-optimization combinator and union classes you can shorten it a lot 2014-12-15 20:36:27 +01:00
John Benediktsson e5c69d3e9b compiler: try this for compiler.cfg.builder.alien. 2014-12-13 18:44:35 -08:00
John Benediktsson a689211ae1 compiler.cfg.builder: use compiler.cfg.builder.alien. 2014-12-13 18:08:50 -08:00
John Benediktsson c65877104e compiler: cleanup usings. 2014-12-13 16:10:21 -08:00
John Benediktsson 46e0426795 compiler.cfg.stack-frame: fix tests. 2014-12-12 17:14:39 -08:00
John Benediktsson 1911b183a0 compiler.cfg.build-stack-frame: fix tests. 2014-12-12 15:22:22 -08:00
John Benediktsson 8f4c4ea2e1 compiler.cfg.build-stack-frame: some cleanup. 2014-12-12 11:59:23 -08:00
John Benediktsson c3a4bdcf68 compiler.cfg.linear-scan.resolve: use if-empty. 2014-12-11 14:00:50 -08:00
John Benediktsson 068ddd6c7b compiler: cleanup cfg passes to have stack effect ( cfg -- ) 2014-12-11 12:48:43 -08:00
Björn Lindqvist 33500db79f compiler.cfg.*: help-lint and test case fixes 2014-12-11 15:02:40 +01:00
Björn Lindqvist 08e9f18c3b compiler.cfg.*: fix for test cases that broke due to stack effect changes 2014-12-11 14:30:47 +01:00
Björn Lindqvist bfc0ef815b compiler.cfg.dominance: fix for #1227, the dom children needs to be sorted to ensure that the same instruction sequence is generated every time 2014-12-11 14:30:47 +01:00
Björn Lindqvist 628c87c5b1 compiler.cfg.utilities: adding connect-bbs and make-edges 2014-12-11 14:30:47 +01:00
Björn Lindqvist 00e2d9f116 compiler.cfg.dominance: some more docs 2014-12-11 14:30:47 +01:00
Björn Lindqvist c85175c10c compiler.cfg.*: new utility word apply-passes to improve the looks of long cleave's where each quotation only contains one word 2014-12-11 14:30:47 +01:00
Björn Lindqvist e371327ec4 compiler.cfg.ssa.construction.tests: fix tc broken by previous commit 2014-12-11 14:30:47 +01:00
Björn Lindqvist befbe0bb59 compiler.cfg.dominance: changed stack effect compute-dominance ( cfg -- cfg' ) to ( cfg -- ) 2014-12-11 14:30:47 +01:00
Björn Lindqvist e5866dfa80 compiler.cfg.*: changed stack effect of needs-predecessors from ( cfg -- cfg') to ( cfg -- ) 2014-12-11 14:30:47 +01:00
Björn Lindqvist 76cb665a8d compiler.cfg.dominance: change needs-dominance effect from ( cfg -- cfg') to ( cfg -- ) 2014-12-11 14:30:46 +01:00
Björn Lindqvist 054982f24a compiler.cfg.*: docs for compiler.cfg.dominance and compiler.cfg.ssa.construction 2014-12-11 14:30:46 +01:00
Björn Lindqvist 53b7f82368 Docs: more compiler docs 2014-12-11 14:30:46 +01:00
Björn Lindqvist 5fe9ce4235 compiler.cfg: fix stack effect of cfg-changed and predecessors changed to ( cfg -- ) 2014-12-11 14:30:46 +01:00
Björn Lindqvist a0d4e9b417 compiler.cfg.stacks.uninitialized: this compiler pass isn't used anymore -- let's get rid of it 2014-12-11 14:30:46 +01:00
Björn Lindqvist 8744d908b6 compiler.cfg.*: fix stack effect of compiler passes in optimize-cfg
since they all modify the cfg in place, it is better if their stack
effect is ( cfg -- ) instead of ( cfg -- cfg' )
2014-12-11 14:30:45 +01:00
Björn Lindqvist 971a157369 compiler.cfg.instructions: ##alien-assembly should be in the alien-call-insn union but not gc-map-insn 2014-12-08 18:13:46 -08:00
Björn Lindqvist 52d3affeb8 compiler.cfg.*: the ##alien-assembly instruction does not use a gc-map 2014-12-08 18:13:46 -08:00
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