about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2014-08-28 19:54:37 -0700
committerKartik K. Agaram <vc@akkartik.com>2014-08-28 19:54:37 -0700
commita1ef15119620a5f76071a1f3a829424a62864265 (patch)
treebecfef19c30ae48f083624371605a15c844841bd
parent2f2c2418002c142c259d20ff335edbfd0c8f7114 (diff)
downloadmu-a1ef15119620a5f76071a1f3a829424a62864265.tar.gz
87
-rw-r--r--mu.arc7
1 files changed, 5 insertions, 2 deletions
diff --git a/mu.arc b/mu.arc
index 50f9233f..3769b803 100644
--- a/mu.arc
+++ b/mu.arc
@@ -118,6 +118,10 @@
 
 ; context contains the call-stack of functions that haven't yet returned
 
+(def make-context (fn-name)
+  (annotate 'context (obj call-stack (list
+      (obj fn-name fn-name  pc 0  caller-arg-idx 0)))))
+
 (defextend empty (x)  (isa x 'context)
   (no rep.x!call-stack))
 
@@ -162,8 +166,7 @@
 
 (def run (fn-name)
   (ret result 0
-    (let context (annotate 'context (obj call-stack (list
-                     (obj fn-name fn-name  pc 0  caller-arg-idx 0))))
+    (let context (make-context fn-name)
       (while (~empty context)
 ;?         (prn "== " context)
         (let insts-run (run-for-time-slice context scheduling-interval*)