about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2014-08-18 12:12:58 -0700
committerKartik K. Agaram <vc@akkartik.com>2014-08-18 12:12:58 -0700
commitdbe8d43671cf8c0d44ca5eebd0af68b9aa35be7b (patch)
treea9c6e6653337639afaf7608c97ed637245e2bb7c
parent4a0b335c28933cbec7215b04e4f7558f833257f4 (diff)
downloadmu-dbe8d43671cf8c0d44ca5eebd0af68b9aa35be7b.tar.gz
50
-rw-r--r--mu.arc18
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