about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-09-26 22:10:34 -0700
committerKartik Agaram <vc@akkartik.com>2020-09-26 22:10:34 -0700
commitef7f0a540ac531df6c5f123ec5961de7b980b117 (patch)
tree221ce6b3bd3f94b267bc7c869c7aecf5aa330bb0
parentebb93c6d58ab087c581948acfc054e91a02047f9 (diff)
downloadmu-ef7f0a540ac531df6c5f123ec5961de7b980b117.tar.gz
6871
Segfault now fixed. Everything seems to be working again.
-rw-r--r--apps/tile/rpn.mu4
-rw-r--r--apps/tile/table.mu1
2 files changed, 3 insertions, 2 deletions
diff --git a/apps/tile/rpn.mu b/apps/tile/rpn.mu
index ab3a623c..2b45d981 100644
--- a/apps/tile/rpn.mu
+++ b/apps/tile/rpn.mu
@@ -158,9 +158,9 @@ fn perform-call _callee: (addr function), caller-stack: (addr value-stack), defs
   var stack-storage: value-stack
   var stack/edi: (addr value-stack) <- address stack-storage
   initialize-value-stack stack, 0x10
-  print-string-to-real-screen "about to enter recursive eval\n"
+#?   print-string-to-real-screen "about to enter recursive eval\n"
   evaluate defs, table, body, 0, stack
-  print-string-to-real-screen "exited recursive eval\n"
+#?   print-string-to-real-screen "exited recursive eval\n"
   # stitch result from stack into caller
   var result/eax: int <- pop-int-from-value-stack stack
   push-int-to-value-stack caller-stack, result
diff --git a/apps/tile/table.mu b/apps/tile/table.mu
index fc3a5399..73c8fef5 100644
--- a/apps/tile/table.mu
+++ b/apps/tile/table.mu
@@ -41,6 +41,7 @@ fn make-binding _self: (addr bind), key: (addr handle array byte), _val: int {
   var dest/eax: (addr handle array byte) <- get self, key
   copy-object key, dest
   var dest2/eax: (addr handle value) <- get self, value
+  allocate dest2
   var dest3/eax: (addr value) <- lookup *dest2
   var dest4/eax: (addr int) <- get dest3, scalar-data
   var val/ecx: int <- copy _val