about summary refs log tree commit diff stats
path: root/mu.arc.t
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2014-11-21 23:43:27 -0800
committerKartik K. Agaram <vc@akkartik.com>2014-11-21 23:45:18 -0800
commit51370addc91cae57e32de58ae71b63ef0bfd33d2 (patch)
treece984122e424edbde473815eec751643305bbb34 /mu.arc.t
parent527a0ebef8808487a8d998362d44ad7983beba22 (diff)
downloadmu-51370addc91cae57e32de58ae71b63ef0bfd33d2.tar.gz
291 - figured out the channel-handoff problem
'read' and 'write' pass in the channel by value, so they block on
different *local* variables.

Does this kill my plan to pervasively use call-by-value everywhere? No,
we might be able to salvage it if channels are the only shared pointers.
Diffstat (limited to 'mu.arc.t')
-rw-r--r--mu.arc.t4
1 files changed, 3 insertions, 1 deletions
diff --git a/mu.arc.t b/mu.arc.t
index 29bfee42..3740a1b7 100644
--- a/mu.arc.t
+++ b/mu.arc.t
@@ -2316,7 +2316,9 @@
       ((ochan channel-address) <- arg)
       ((x tagged-value-address) <- new-tagged-value (integer-address literal) (n integer-address))
       ((ochan channel-address deref) <- write (ochan channel-address deref) (x tagged-value-address deref)))))
-;? (= dump-trace* (obj whitelist '("run")))
+(set dump-trace*)
+;? (= dump-trace* (obj whitelist '("schedule" "run" "addr")))
+;? (= dump-trace* (obj whitelist '("-")))
 (run 'f1)
 ;? (prn memory*)
 (each routine completed-routines*