diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2014-08-18 12:12:58 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2014-08-18 12:12:58 -0700 |
commit | dbe8d43671cf8c0d44ca5eebd0af68b9aa35be7b (patch) | |
tree | a9c6e6653337639afaf7608c97ed637245e2bb7c | |
parent | 4a0b335c28933cbec7215b04e4f7558f833257f4 (diff) | |
download | mu-dbe8d43671cf8c0d44ca5eebd0af68b9aa35be7b.tar.gz |
50
-rw-r--r-- | mu.arc | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/mu.arc b/mu.arc index b11e0db5..8bb498de 100644 --- a/mu.arc +++ b/mu.arc @@ -27,18 +27,16 @@ `(,operand 1)) ; assume type is always first bit of metadata, and it's always present (mac m (loc) ; for memory - (w/uniq gloc - `(let ,gloc ,loc - (if (pos 'deref (metadata ,gloc)) - (memory* (memory* (v ,gloc))) - (memory* (v ,gloc)))))) + `(let loc@ ,loc + (if (pos 'deref (metadata loc@)) + (memory* (memory* (v loc@))) + (memory* (v loc@))))) (mac setm (loc val) ; set memory, respecting addressing-mode tags - (w/uniq gloc - `(let ,gloc ,loc - (if (pos 'deref (metadata ,gloc)) - (= (memory* (memory* (v ,gloc))) ,val) - (= (memory* (v ,gloc)) ,val))))) + `(let loc@ ,loc + (if (pos 'deref (metadata loc@)) + (= (memory* (memory* (v loc@))) ,val) + (= (memory* (v loc@)) ,val)))) (def run (instrs (o fn-args) (o fn-oargs)) (ret result nil |