From 5d1d61012dc1449feb8928bbf516532afe1c4965 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Thu, 20 Feb 2020 11:54:19 -0800 Subject: 6030 --- apps/mu | Bin 147394 -> 147384 bytes apps/mu.subx | 20 +++++++++----------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/apps/mu b/apps/mu index d150f170..aa1dd742 100755 Binary files a/apps/mu and b/apps/mu differ diff --git a/apps/mu.subx b/apps/mu.subx index 811be37c..30b9db93 100644 --- a/apps/mu.subx +++ b/apps/mu.subx @@ -7411,24 +7411,22 @@ operand-matches-primitive?: # var: (handle var), prim-var: (handle var) -> resu 74/jump-if-= $operand-matches-primitive?:end/disp8 # return false if var->register doesn't match prim-var->register { - # if addresses are equal, don't return here - 8b/-> *(esi+0x10) 0/r32/eax - 39/compare *(edi+0x10) 0/r32/eax + # if register addresses are equal, it's a match + 8b/-> *(esi+0x10) 0/r32/eax # Var-register + 39/compare *(edi+0x10) 0/r32/eax # Var-register 74/jump-if-= break/disp8 # if either address is 0, return false 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 + 81 7/subop/compare *(edi+0x10) 0/imm32 # Var-register 74/jump-if-= $operand-matches-primitive?:end/disp8 # eax goes from meaning var->register to result - # if prim-var->register is wildcard, return true - (string-equal? *(edi+0x10) Any-register) # Var-register + # 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 - b8/copy-to-eax 1/imm32/true - 75/jump-if-!= $operand-matches-primitive?:end/disp8 - # if string contents don't match, return false - (string-equal? *(esi+0x10) *(edi+0x10)) # Var-register Var-register + 75/jump-if-!= break/disp8 + # 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 - b8/copy-to-eax 0/imm32/false 74/jump-if-= $operand-matches-primitive?:end/disp8 } # return true -- cgit 1.4.1-2-gfad0