about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-02-20 17:55:44 -0800
committerKartik Agaram <vc@akkartik.com>2020-02-20 17:55:44 -0800
commitf3ced2d488a2364643013046880e0a90d274ec93 (patch)
tree3aa9bfa88ee126eb895f8afca72eefa1c68a5bb5
parentf624fcbd1a5c1c6cce118e75046d779eee932128 (diff)
downloadmu-f3ced2d488a2364643013046880e0a90d274ec93.tar.gz
6036
-rwxr-xr-xapps/mubin147647 -> 147649 bytes
-rw-r--r--apps/mu.subx11
2 files changed, 6 insertions, 5 deletions
diff --git a/apps/mu b/apps/mu
index e6845871..9827da9d 100755
--- a/apps/mu
+++ b/apps/mu
Binary files differdiff --git a/apps/mu.subx b/apps/mu.subx
index 85c3b04a..1d8b7a47 100644
--- a/apps/mu.subx
+++ b/apps/mu.subx
@@ -7483,7 +7483,7 @@ $operand-matches-primitive?:check-register:
         75/jump-if-!= break/disp8
         81 7/subop/compare *(esi+0x10) 0/imm32  # Var-register
         74/jump-if-= break/disp8
-        81 7/subop/compare *(ecx+8) 0/imm32  # Stmt-var-is-deref
+        81 7/subop/compare *(ecx+8) 0/imm32/false  # Stmt-var-is-deref
         74/jump-if-= break/disp8
         e9/jump $operand-matches-primitive?:return-true/disp32
       }
@@ -7497,8 +7497,7 @@ $operand-matches-primitive?:check-register:
         3d/compare-eax-and 0/imm32
         74/jump-if-=  $operand-matches-primitive?:end/disp8  # eax goes from meaning var->register to result
         81 7/subop/compare *(edi+0x10) 0/imm32  # Var-register
-        b8/copy-to-eax 0/imm32/false
-        74/jump-if-=  $operand-matches-primitive?:end/disp8
+        74/jump-if-=  $operand-matches-primitive?:return-false/disp8
         # if prim-var->register is wildcard, it's a match
         (string-equal? *(edi+0x10) Any-register)  # Var-register => eax
         3d/compare-eax-and 0/imm32/false
@@ -7506,12 +7505,14 @@ $operand-matches-primitive?:check-register:
         # if string contents aren't equal, return false
         (string-equal? *(esi+0x10) *(edi+0x10))  # Var-register Var-register => eax
         3d/compare-eax-and 0/imm32/false
-        74/jump-if-= $operand-matches-primitive?:end/disp8
+        74/jump-if-= $operand-matches-primitive?:return-false/disp8
       }
     }
 $operand-matches-primitive?:return-true:
-    # return true
     b8/copy-to-eax 1/imm32/true
+    eb/jump $operand-matches-primitive?:end/disp8
+$operand-matches-primitive?:return-false:
+    b8/copy-to-eax 0/imm32/false
 $operand-matches-primitive?:end:
     # . restore registers
     5f/pop-to-edi