about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rwxr-xr-xapps/mubin256194 -> 256210 bytes
-rw-r--r--apps/mu.subx14
2 files changed, 5 insertions, 9 deletions
diff --git a/apps/mu b/apps/mu
index 15567cc1..030b05c6 100755
--- a/apps/mu
+++ b/apps/mu
Binary files differdiff --git a/apps/mu.subx b/apps/mu.subx
index 5bc534f1..aeda4eb4 100644
--- a/apps/mu.subx
+++ b/apps/mu.subx
@@ -8063,9 +8063,6 @@ emit-subx-function:  # out: (addr buffered-file), f: (addr function)
     50/push-eax
     51/push-ecx
     52/push-edx
-    57/push-edi
-    # edi = out
-    8b/-> *(ebp+8) 7/r32/edi
     # ecx = f
     8b/-> *(ebp+0xc) 1/r32/ecx
     # var vars/edx: (stack (addr var) 256)
@@ -8075,23 +8072,22 @@ emit-subx-function:  # out: (addr buffered-file), f: (addr function)
     89/<- %edx 4/r32/esp
     #
     (lookup *ecx *(ecx+4))  # Function-name Function-name => eax
-    (write-buffered %edi %eax)
-    (write-buffered %edi ":\n")
+    (write-buffered *(ebp+8) %eax)
+    (write-buffered *(ebp+8) ":\n")
     # initialize some global state
     c7 0/subop/copy *Curr-block-depth 1/imm32
     c7 0/subop/copy *Curr-local-stack-offset 0/imm32
     #
-    (emit-subx-prologue %edi)
+    (emit-subx-prologue *(ebp+8))
     (lookup *(ecx+0x18) *(ecx+0x1c))  # Function-body Function-body => eax
-    (emit-subx-block %edi %eax %edx)
-    (emit-subx-epilogue %edi)
+    (emit-subx-block *(ebp+8) %eax %edx)
+    (emit-subx-epilogue *(ebp+8))
     # TODO: validate that *Curr-block-depth and *Curr-local-stack-offset have
     # been cleaned up
 $emit-subx-function:end:
     # . reclaim locals
     81 0/subop/add %esp 808/imm32
     # . restore registers
-    5f/pop-to-edi
     5a/pop-to-edx
     59/pop-to-ecx
     58/pop-to-eax