From 156763463d07072bed54172f45d9083c207470c8 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Sun, 24 May 2020 13:27:08 -0700 Subject: [PATCH] 6390 - return `length` in elements --- apps/mu | Bin 238793 -> 239403 bytes apps/mu.subx | 110 ++++++++++++++++++++++++++++++++++++++---------- mu_instructions | 26 +++++++++++- 3 files changed, 113 insertions(+), 23 deletions(-) diff --git a/apps/mu b/apps/mu index 611e130261d409cb0adf3ee7b04f0821fda51b8a..466ec5525caf149c3f62a4032f84ba36fac1796b 100755 GIT binary patch literal 239403 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 SafW>ZJsj-JtiS?7*Zp5bqCWZn literal 238793 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 qVdFvK *(ebp+0x00000008) 0x00000000/r32" "F - test-convert-length-of-array/7") - (check-next-stream-line-equal _test-output-stream " 8b/-> *eax 0x00000000/r32" "F - test-convert-length-of-array/9") - (check-next-stream-line-equal _test-output-stream " 8f 0/subop/pop %eax" "F - test-convert-length-of-array/11") - (check-next-stream-line-equal _test-output-stream " }" "F - test-convert-length-of-array/12") - (check-next-stream-line-equal _test-output-stream "$foo:0x00000001:break:" "F - test-convert-length-of-array/13") - (check-next-stream-line-equal _test-output-stream " # . epilogue" "F - test-convert-length-of-array/14") - (check-next-stream-line-equal _test-output-stream " 89/<- %esp 5/r32/ebp" "F - test-convert-length-of-array/15") - (check-next-stream-line-equal _test-output-stream " 5d/pop-to-ebp" "F - test-convert-length-of-array/16") - (check-next-stream-line-equal _test-output-stream " c3/return" "F - test-convert-length-of-array/17") + (check-next-stream-line-equal _test-output-stream " 8b/-> *eax 0x00000000/r32" "F - test-convert-length-of-array/8") + (check-next-stream-line-equal _test-output-stream " c1/shift 5/subop/>> %eax 0x00000002/imm32" "F - test-convert-length-of-array/9") + (check-next-stream-line-equal _test-output-stream " 8f 0/subop/pop %eax" "F - test-convert-length-of-array/10") + (check-next-stream-line-equal _test-output-stream " }" "F - test-convert-length-of-array/11") + (check-next-stream-line-equal _test-output-stream "$foo:0x00000001:break:" "F - test-convert-length-of-array/12") + (check-next-stream-line-equal _test-output-stream " # . epilogue" "F - test-convert-length-of-array/13") + (check-next-stream-line-equal _test-output-stream " 89/<- %esp 5/r32/ebp" "F - test-convert-length-of-array/14") + (check-next-stream-line-equal _test-output-stream " 5d/pop-to-ebp" "F - test-convert-length-of-array/15") + (check-next-stream-line-equal _test-output-stream " c3/return" "F - test-convert-length-of-array/16") # . epilogue 89/<- %esp 5/r32/ebp 5d/pop-to-ebp @@ -2484,14 +2485,15 @@ test-convert-length-of-array-on-stack: (check-next-stream-line-equal _test-output-stream " 68/push 0x0000000c/imm32" "F - test-convert-length-of-array-on-stack/7") (check-next-stream-line-equal _test-output-stream " ff 6/subop/push %eax" "F - test-convert-length-of-array-on-stack/8") (check-next-stream-line-equal _test-output-stream " 8b/-> *(ebp+0xfffffff0) 0x00000000/r32" "F - test-convert-length-of-array-on-stack/9") - (check-next-stream-line-equal _test-output-stream " 8f 0/subop/pop %eax" "F - test-convert-length-of-array-on-stack/10") - (check-next-stream-line-equal _test-output-stream " 81 0/subop/add %esp 0x00000010/imm32" "F - test-convert-length-of-array-on-stack/11") - (check-next-stream-line-equal _test-output-stream " }" "F - test-convert-length-of-array-on-stack/12") - (check-next-stream-line-equal _test-output-stream "$foo:0x00000001:break:" "F - test-convert-length-of-array-on-stack/13") - (check-next-stream-line-equal _test-output-stream " # . epilogue" "F - test-convert-length-of-array-on-stack/14") - (check-next-stream-line-equal _test-output-stream " 89/<- %esp 5/r32/ebp" "F - test-convert-length-of-array-on-stack/15") - (check-next-stream-line-equal _test-output-stream " 5d/pop-to-ebp" "F - test-convert-length-of-array-on-stack/16") - (check-next-stream-line-equal _test-output-stream " c3/return" "F - test-convert-length-of-array-on-stack/17") + (check-next-stream-line-equal _test-output-stream " c1/shift 5/subop/>> %eax 0x00000002/imm32" "F - test-convert-length-of-array-on-stack/10") + (check-next-stream-line-equal _test-output-stream " 8f 0/subop/pop %eax" "F - test-convert-length-of-array-on-stack/11") + (check-next-stream-line-equal _test-output-stream " 81 0/subop/add %esp 0x00000010/imm32" "F - test-convert-length-of-array-on-stack/12") + (check-next-stream-line-equal _test-output-stream " }" "F - test-convert-length-of-array-on-stack/13") + (check-next-stream-line-equal _test-output-stream "$foo:0x00000001:break:" "F - test-convert-length-of-array-on-stack/14") + (check-next-stream-line-equal _test-output-stream " # . epilogue" "F - test-convert-length-of-array-on-stack/15") + (check-next-stream-line-equal _test-output-stream " 89/<- %esp 5/r32/ebp" "F - test-convert-length-of-array-on-stack/16") + (check-next-stream-line-equal _test-output-stream " 5d/pop-to-ebp" "F - test-convert-length-of-array-on-stack/17") + (check-next-stream-line-equal _test-output-stream " c3/return" "F - test-convert-length-of-array-on-stack/18") # . epilogue 89/<- %esp 5/r32/ebp 5d/pop-to-ebp @@ -8842,28 +8844,31 @@ translate-mu-length-stmt: # out: (addr buffered-file), stmt: (addr stmt) # . save registers 50/push-eax 51/push-ecx + 52/push-edx + 53/push-ebx # ecx = stmt 8b/-> *(ebp+0xc) 1/r32/ecx # (emit-indent *(ebp+8) *Curr-block-depth) (write-buffered *(ebp+8) "8b/-> *") - # var base/eax: (handle var) = inouts[0] + # var base/ebx: (addr var) = inouts[0] (lookup *(ecx+0xc) *(ecx+0x10)) # Stmt1-inouts Stmt1-inouts => eax (lookup *eax *(eax+4)) # Stmt-var-value Stmt-var-value => eax + 89/<- %ebx 0/r32/eax # if base is an (addr array ...) in a register { - 81 7/subop/compare *(eax+0x18)) 0/imm32 # Var-register + 81 7/subop/compare *(ebx+0x18)) 0/imm32 # Var-register 74/jump-if-= break/disp8 - (lookup *(eax+0x18) *(eax+0x1c)) # Var-register Var-register => eax + (lookup *(ebx+0x18) *(ebx+0x1c)) # Var-register Var-register => eax (write-buffered *(ebp+8) %eax) eb/jump $translate-mu-length-stmt:emit-output/disp8 } # otherwise if base is an (array ...) on the stack { - 81 7/subop/compare *(eax+0x14)) 0/imm32 # Var-offset + 81 7/subop/compare *(ebx+0x14)) 0/imm32 # Var-offset 74/jump-if-= break/disp8 (write-buffered *(ebp+8) "(ebp+") - (print-int32-buffered *(ebp+8) *(eax+0x14)) # Var-offset + (print-int32-buffered *(ebp+8) *(ebx+0x14)) # Var-offset (write-buffered *(ebp+8) ")") } $translate-mu-length-stmt:emit-output: @@ -8871,12 +8876,40 @@ $translate-mu-length-stmt:emit-output: # outputs[0] "/r32" (lookup *(ecx+0x14) *(ecx+0x18)) # Stmt1-outputs Stmt1-outputs => eax (lookup *eax *(eax+4)) # Stmt-var-value Stmt-var-value => eax + # edx = outputs[0]->register (lookup *(eax+0x18) *(eax+0x1c)) # Var-register Var-register => eax - (get Registers %eax 0xc "Registers") # => eax + 89/<- %edx 0/r32/eax + # + (get Registers %edx 0xc "Registers") # => eax (print-int32-buffered *(ebp+8) *eax) (write-buffered *(ebp+8) "/r32\n") +$translate-mu-length-stmt:check-power-of-2: + # ecx = size-of(element-type(base)) + (array-element-type-id %ebx) # => eax + (size-of-type-id %eax) # => eax + 89/<- %ecx 0/r32/eax + # + (power-of-2? %ecx) # => eax + 3d/compare-eax-and 0/imm32/false + { + 0f 84/jump-if-= break/disp32 +$translate-mu-length-stmt:is-power-of-2: + (emit-indent *(ebp+8) *Curr-block-depth) + (write-buffered *(ebp+8) "c1/shift 5/subop/>> %") + (write-buffered *(ebp+8) %edx) + (write-buffered *(ebp+8) Space) + (num-shift-rights %ecx) # => eax + (print-int32-buffered *(ebp+8) %eax) + (write-buffered *(ebp+8) "/imm32\n") + eb/jump $translate-mu-length-stmt:end/disp8 + } + { + 75/jump-if-!= break/disp8 +$translate-mu-length-stmt:not-power-of-2: + } $translate-mu-length-stmt:end: # . restore registers + 5b/pop-to-ebx 59/pop-to-ecx 58/pop-to-eax # . epilogue @@ -9310,6 +9343,39 @@ $array-element-type-id:end: 5d/pop-to-ebp c3/return +power-of-2?: # n: int -> result/eax: boolean + # precondition: n is positive + # . prologue + 55/push-ebp + 89/<- %ebp 4/r32/esp + # eax = n + 8b/-> *(ebp+8) 0/r32/eax + # if (n < 0) abort + 3d/compare-eax-with 0/imm32 + 0f 8c/jump-if-< $power-of-2?:abort/disp32 + # var tmp/eax: int = n-1 + 48/decrement-eax + # var tmp2/eax: int = n & tmp + 23/and-> *(ebp+8) 0/r32/eax + # return (tmp2 == 0) + 3d/compare-eax-and 0/imm32 + 0f 94/set-byte-if-= %al + 81 4/subop/and %eax 0xff/imm32 +$power-of-2?:end: + # . epilogue + 89/<- %esp 5/r32/ebp + 5d/pop-to-ebp + c3/return + +$power-of-2?:abort: + (write-buffered Stderr "power-of-2?: negative number\n") + (flush Stderr) + # . syscall(exit, 1) + bb/copy-to-ebx 1/imm32 + b8/copy-to-eax 1/imm32/exit + cd/syscall 0x80/imm8 + # never gets here + num-shift-rights: # n: int -> result/eax: int # precondition: n is a positive power of 2 # . prologue diff --git a/mu_instructions b/mu_instructions index 1037e8e3..754f51bb 100644 --- a/mu_instructions +++ b/mu_instructions @@ -183,11 +183,35 @@ var/reg: (offset T) <- compute-offset arr: (addr array T), idx: int # arr var/reg <- index arr/rega: (addr array T), o/rego: offset => "8d/copy-address *(" rega "+" rego "+4) " reg "/r32" -Computing the length of an array can get complex. +Computing the length of an array is complex. var/reg <- length arr/reg2: (addr array T) | if T is byte (TODO) => "8b/-> *" reg2 " " reg "/r32" + | if size-of(T) is 4 or 8 or 16 or 32 or 64 or 128 + => "8b/-> *" reg2 " " reg "/r32" + "c1/shift 5/subop/logic-right %" reg " " log2(size-of(T)) "/imm8" + | otherwise (TODO) + x86 has no instruction to divide by a literal, so + we need up to 3 extra registers! eax/edx for division and say ecx + => if reg is not eax + "50/push-eax" + if reg is not ecx + "51/push-ecx" + if reg is not edx + "52/push-edx" + "8b/-> *" reg2 " eax/r32" + "31/xor %edx 2/r32/edx" # sign-extend, but array size can't be negative + "b9/copy-to-ecx " size-of(T) "/imm32" + "f7 7/subop/idiv-eax-edx-by %ecx" + if reg is not eax + "89/<- %" reg " 0/r32/eax" + if reg is not edx + "5a/pop-to-edx" + if reg is not ecx + "59/pop-to-ecx" + if reg is not eax + "58/pop-to-eax" # User-defined types