diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-06-03 22:32:24 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-06-03 22:32:24 -0700 |
commit | 5aed53d8095a5e79d32567b9e7ea526d58431e87 (patch) | |
tree | 1e9b0eb12c0d55204e68b45e48fae455e9fcd7b3 | |
parent | 69a29fc62cc0a889f4299bd66ff1bdcdc5ce2c26 (diff) | |
download | mu-5aed53d8095a5e79d32567b9e7ea526d58431e87.tar.gz |
6460
-rwxr-xr-x | apps/mu | bin | 256210 -> 256204 bytes | |||
-rw-r--r-- | apps/mu.subx | 13 |
2 files changed, 6 insertions, 7 deletions
diff --git a/apps/mu b/apps/mu index ecf43bce..d2fe3f20 100755 --- a/apps/mu +++ b/apps/mu Binary files differdiff --git a/apps/mu.subx b/apps/mu.subx index 59243362..8a81d94d 100644 --- a/apps/mu.subx +++ b/apps/mu.subx @@ -6196,7 +6196,7 @@ lookup-var-helper: # name: (addr slice), vars: (addr stack (handle var)), out: # var min/edx: (addr handle var) = vars->data 8d/copy-address *(esi+8) 2/r32/edx # var curr/ebx: (addr handle var) = &vars->data[vars->top - 8] - 8d/copy-address *(esi+ebx) 3/r32/ebx + 8d/copy-address *(esi+ebx) 3/r32/ebx # vars + 8 + vars->type - 8 { # if (curr < min) return 39/compare %ebx 2/r32/edx @@ -8552,7 +8552,7 @@ emit-unconditional-jump-to-depth: # out: (addr buffered-file), vars: (addr stac # var curr/esi: (addr handle var) = &vars->data[vars->top - 8] 8d/copy-address *(ecx+eax) 6/r32/esi # vars + 8 + vars->top - 8 # var min/ecx: (addr handle var) = vars->data - 81 0/subop/add %ecx 8/imm32 + 8d/copy-address *(ecx+8) 1/r32/ecx # edx = depth 8b/-> *(ebp+0x10) 2/r32/edx { @@ -8789,11 +8789,10 @@ already-spilled-this-block?: # v: (addr var), vars: (addr stack (handle var)) - 8b/-> *(ebp+0xc) 1/r32/ecx # var eax: int = vars->top 8b/-> *ecx 0/r32/eax - # var min/ecx: (addr handle var) = vars->data - 81 0/subop/add %ecx 8/imm32 # var curr/edx: (addr handle var) = &vars->data[vars->top - 8] - 81 5/subop/subtract %eax 8/imm32 - 8d/copy-address *(ecx+eax) 2/r32/edx + 8d/copy-address *(ecx+eax) 2/r32/edx # vars + 8 + vars->top - 8 + # var min/ecx: (addr handle var) = vars->data + 8d/copy-address *(ecx+8) 1/r32/ecx # var depth/ebx: int = v->block-depth 8b/-> *(ebp+8) 3/r32/ebx 8b/-> *(ebx+0x10) 3/r32/ebx # Var-block-depth @@ -8870,7 +8869,7 @@ same-register-spilled-before?: # v: (addr var), vars: (addr stack (handle var)) 8b/-> *(ecx+0x10) 3/r32/ebx # Var-block-depth # var min/ecx: (addr handle var) = vars->data 8b/-> *(ebp+0xc) 1/r32/ecx - 81 0/subop/add %ecx 8/imm32 + 8d/copy-address *(ecx+8) 1/r32/ecx # TODO: check that start >= min and start < &vars->data[top] # TODO: check that *start == v # var curr/esi: (addr handle var) = start |