From f3ced2d488a2364643013046880e0a90d274ec93 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Thu, 20 Feb 2020 17:55:44 -0800 Subject: 6036 --- apps/mu | Bin 147647 -> 147649 bytes apps/mu.subx | 11 ++++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/apps/mu b/apps/mu index e6845871..9827da9d 100755 Binary files a/apps/mu and b/apps/mu differ diff --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 -- cgit 1.4.1-2-gfad0