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
'>176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208