From bee457bd5601c414ffb726e7473fcdb09efb9ef8 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Sun, 17 May 2020 02:11:18 -0700 Subject: mu.subx: add handles to remaining decls test-add-reg-to-reg should pass now. But it doesn't.. --- apps/mu.subx | 122 +++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 102 insertions(+), 20 deletions(-) diff --git a/apps/mu.subx b/apps/mu.subx index b9622110..8bbd2db3 100644 --- a/apps/mu.subx +++ b/apps/mu.subx @@ -11377,56 +11377,92 @@ _string_ff_subop_decrement: 0x66/f 0x66/f 0x31/1 0x2f/slash 0x73/s 0x75/u 0x62/b 0x6f/o 0x70/p 0x2f/slash 0x64/d 0x65/e 0x63/c 0x72/r 0x65/e 0x6d/m 0x65/e 0x6e/n 0x74/t Single-int-var-in-mem: + 0x11/imm32/alloc-id:fake:payload + 0x11/imm32/alloc-id:fake Int-var-in-mem/imm32 0/imm32/next + 0/imm32/next Int-var-in-mem: - "arg1"/imm32/name + 0x11/imm32/alloc-id:fake:payload + 0/imm32/name + 0/imm32/name + 0x11/imm32/alloc-id:fake Type-int/imm32 1/imm32/some-block-depth 1/imm32/some-stack-offset 0/imm32/no-register + 0/imm32/no-register Two-args-int-stack-int-reg: + 0x11/imm32/alloc-id:fake:payload + 0x11/imm32/alloc-id:fake Int-var-in-mem/imm32 + 0x11/imm32/alloc-id:fake Single-int-var-in-some-register/imm32/next Two-args-int-reg-int-stack: + 0x11/imm32/alloc-id:fake:payload + 0x11/imm32/alloc-id:fake Int-var-in-some-register/imm32 + 0x11/imm32/alloc-id:fake Single-int-var-in-mem/imm32/next Two-args-int-eax-int-literal: + 0x11/imm32/alloc-id:fake:payload + 0x11/imm32/alloc-id:fake Int-var-in-eax/imm32 + 0x11/imm32/alloc-id:fake Single-lit-var/imm32/next Int-var-and-literal: + 0x11/imm32/alloc-id:fake:payload + 0x11/imm32/alloc-id:fake Int-var-in-mem/imm32 + 0x11/imm32/alloc-id:fake Single-lit-var/imm32/next Int-var-in-register-and-literal: + 0x11/imm32/alloc-id:fake:payload + 0x11/imm32/alloc-id:fake Int-var-in-some-register/imm32 + 0x11/imm32/alloc-id:fake Single-lit-var/imm32/next Single-int-var-in-some-register: + 0x11/imm32/alloc-id:fake:payload + 0x11/imm32/alloc-id:fake Int-var-in-some-register/imm32 + 0x11/imm32/alloc-id:fake 0/imm32/next Single-addr-var-in-some-register: + 0x11/imm32/alloc-id:fake:payload + 0x11/imm32/alloc-id:fake Addr-var-in-some-register/imm32 + 0x11/imm32/alloc-id:fake 0/imm32/next Int-var-in-some-register: - "arg1"/imm32/name + 0x11/imm32/alloc-id:fake:payload + 0/imm32/name + 0/imm32/name + 0x11/imm32/alloc-id:fake Type-int/imm32 1/imm32/some-block-depth 0/imm32/no-stack-offset + 0x11/imm32/alloc-id:fake Any-register/imm32 Addr-var-in-some-register: - "arg1"/imm32/name + 0x11/imm32/alloc-id:fake:payload + 0/imm32/name + 0/imm32/name + 0x11/imm32/alloc-id:fake Type-addr/imm32 1/imm32/some-block-depth 0/imm32/no-stack-offset + 0x11/imm32/alloc-id:fake Any-register/imm32 Single-int-var-in-eax: @@ -11448,70 +11484,112 @@ Int-var-in-eax: $Register-eax/imm32 Single-int-var-in-ecx: + 0x11/imm32/alloc-id:fake:payload + 0x11/imm32/alloc-id:fake Int-var-in-ecx/imm32 + 0x11/imm32/alloc-id:fake 0/imm32/next Int-var-in-ecx: - "arg1"/imm32/name + 0x11/imm32/alloc-id:fake:payload + 0/imm32/name + 0/imm32/name + 0x11/imm32/alloc-id:fake Type-int/imm32 1/imm32/some-block-depth 0/imm32/no-stack-offset - "ecx"/imm32/register + 0x11/imm32/alloc-id:fake + $Register-ecx/imm32/register Single-int-var-in-edx: + 0x11/imm32/alloc-id:fake:payload + 0x11/imm32/alloc-id:fake Int-var-in-edx/imm32 + 0x11/imm32/alloc-id:fake 0/imm32/next Int-var-in-edx: - "arg1"/imm32/name + 0x11/imm32/alloc-id:fake:payload + 0/imm32/name + 0/imm32/name + 0x11/imm32/alloc-id:fake Type-int/imm32 1/imm32/some-block-depth 0/imm32/no-stack-offset - "edx"/imm32/register + 0x11/imm32/alloc-id:fake + $Register-edx/imm32/register Single-int-var-in-ebx: + 0x11/imm32/alloc-id:fake:payload + 0x11/imm32/alloc-id:fake Int-var-in-ebx/imm32 + 0x11/imm32/alloc-id:fake 0/imm32/next Int-var-in-ebx: - "arg1"/imm32/name + 0x11/imm32/alloc-id:fake:payload + 0/imm32/name + 0/imm32/name + 0x11/imm32/alloc-id:fake Type-int/imm32 1/imm32/some-block-depth 0/imm32/no-stack-offset - "ebx"/imm32/register + 0x11/imm32/alloc-id:fake + $Register-ebx/imm32/register Single-int-var-in-esi: + 0x11/imm32/alloc-id:fake:payload + 0x11/imm32/alloc-id:fake Int-var-in-esi/imm32 + 0x11/imm32/alloc-id:fake 0/imm32/next Int-var-in-esi: - "arg1"/imm32/name + 0x11/imm32/alloc-id:fake:payload + 0/imm32/name + 0/imm32/name + 0x11/imm32/alloc-id:fake Type-int/imm32 1/imm32/some-block-depth 0/imm32/no-stack-offset - "esi"/imm32/register + 0x11/imm32/alloc-id:fake + $Register-esi/imm32/register Single-int-var-in-edi: + 0x11/imm32/alloc-id:fake:payload + 0x11/imm32/alloc-id:fake Int-var-in-edi/imm32 + 0x11/imm32/alloc-id:fake 0/imm32/next Int-var-in-edi: - "arg1"/imm32/name + 0x11/imm32/alloc-id:fake:payload + 0/imm32/name + 0/imm32/name + 0x11/imm32/alloc-id:fake Type-int/imm32 1/imm32/some-block-depth 0/imm32/no-stack-offset - "edi"/imm32/register + 0x11/imm32/alloc-id:fake + $Register-edi/imm32/register Single-lit-var: + 0x11/imm32/alloc-id:fake:payload + 0x11/imm32/alloc-id:fake Lit-var/imm32 + 0x11/imm32/alloc-id:fake 0/imm32/next Lit-var: - "literal"/imm32/name + 0x11/imm32/alloc-id:fake:payload + 0/imm32/name + 0/imm32/name + 0x11/imm32/alloc-id:fake Type-literal/imm32 1/imm32/some-block-depth 0/imm32/no-stack-offset 0/imm32/no-register + 0/imm32/no-register Type-int: 0x11/imm32/alloc-id:fake:payload @@ -11522,14 +11600,18 @@ Type-int: 0/imm32/right:null Type-literal: - 1/imm32/left-is-atom - 0/imm32/left/literal - 0/imm32/right/null + 1/imm32/is-atom + 0/imm32/value:literal + 0/imm32/left:unused + 0/imm32/right:null + 0/imm32/right:null Type-addr: - 1/imm32/left-is-atom - 2/imm32/left/addr - 0/imm32/right/null + 1/imm32/is-atom + 2/imm32/value:addr + 0/imm32/left:unused + 0/imm32/right:null + 0/imm32/right:null == code emit-subx-primitive: # out: (addr buffered-file), stmt: (addr stmt), primitive: (addr primitive) -- cgit 1.4.1-2-gfad0