From 51370addc91cae57e32de58ae71b63ef0bfd33d2 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Fri, 21 Nov 2014 23:43:27 -0800 Subject: 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. --- mu.arc.t | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'mu.arc.t') 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* -- cgit 1.4.1-2-gfad0