mirror of
https://github.com/open-goal/jak-project
synced 2026-07-31 00:14:38 -04:00
recognize dotimes (#310)
This commit is contained in:
@@ -255,10 +255,7 @@
|
||||
|
||||
;; definition for function ref
|
||||
(defun ref ((lst object) (index int))
|
||||
(let
|
||||
((count 0))
|
||||
(while (< count index) (nop!) (nop!) (set! lst (cdr lst)) (+! count 1))
|
||||
)
|
||||
(dotimes (count index) (nop!) (nop!) (set! lst (cdr lst)))
|
||||
(car lst)
|
||||
)
|
||||
|
||||
@@ -901,15 +898,11 @@
|
||||
(defun mem-copy! ((dst pointer) (src pointer) (size int))
|
||||
(let
|
||||
((result dst))
|
||||
(let
|
||||
((i 0))
|
||||
(while
|
||||
(< i size)
|
||||
(set! (-> (the-as (pointer int8) dst)) (-> (the-as (pointer uint8) src)))
|
||||
(&+! dst 1)
|
||||
(&+! src 1)
|
||||
(+! i 1)
|
||||
)
|
||||
(dotimes
|
||||
(i size)
|
||||
(set! (-> (the-as (pointer int8) dst)) (-> (the-as (pointer uint8) src)))
|
||||
(&+! dst 1)
|
||||
(&+! src 1)
|
||||
)
|
||||
result
|
||||
)
|
||||
@@ -961,15 +954,11 @@
|
||||
(defun mem-set32! ((dst pointer) (size int) (value int))
|
||||
(let
|
||||
((result dst))
|
||||
(let
|
||||
((i 0))
|
||||
(while
|
||||
(< i size)
|
||||
(set! (-> (the-as (pointer int32) dst)) value)
|
||||
(&+! dst 4)
|
||||
(nop!)
|
||||
(+! i 1)
|
||||
)
|
||||
(dotimes
|
||||
(i size)
|
||||
(set! (-> (the-as (pointer int32) dst)) value)
|
||||
(&+! dst 4)
|
||||
(nop!)
|
||||
)
|
||||
result
|
||||
)
|
||||
@@ -979,21 +968,17 @@
|
||||
(defun mem-or! ((dst pointer) (src pointer) (size int))
|
||||
(let
|
||||
((result dst))
|
||||
(let
|
||||
((i 0))
|
||||
(while
|
||||
(< i size)
|
||||
(set!
|
||||
(-> (the-as (pointer int8) dst))
|
||||
(logior
|
||||
(-> (the-as (pointer uint8) dst))
|
||||
(-> (the-as (pointer uint8) src))
|
||||
)
|
||||
(dotimes
|
||||
(i size)
|
||||
(set!
|
||||
(-> (the-as (pointer int8) dst))
|
||||
(logior
|
||||
(-> (the-as (pointer uint8) dst))
|
||||
(-> (the-as (pointer uint8) src))
|
||||
)
|
||||
(&+! dst 1)
|
||||
(&+! src 1)
|
||||
(+! i 1)
|
||||
)
|
||||
(&+! dst 1)
|
||||
(&+! src 1)
|
||||
)
|
||||
result
|
||||
)
|
||||
@@ -1029,20 +1014,16 @@
|
||||
|
||||
;; definition (debug) for function mem-print
|
||||
(defun-debug mem-print ((data (pointer uint32)) (word-count int))
|
||||
(let
|
||||
((current-qword 0))
|
||||
(while
|
||||
(< current-qword (sar word-count 2))
|
||||
(format
|
||||
0
|
||||
"~X: ~X ~X ~X ~X~%"
|
||||
(&-> data (shl current-qword 2))
|
||||
(-> data (shl current-qword 2))
|
||||
(-> data (+ (shl current-qword 2) 1))
|
||||
(-> data (+ (shl current-qword 2) 2))
|
||||
(-> data (+ (shl current-qword 2) 3))
|
||||
)
|
||||
(+! current-qword 1)
|
||||
(dotimes
|
||||
(current-qword (sar word-count 2))
|
||||
(format
|
||||
0
|
||||
"~X: ~X ~X ~X ~X~%"
|
||||
(&-> data (shl current-qword 2))
|
||||
(-> data (shl current-qword 2))
|
||||
(-> data (+ (shl current-qword 2) 1))
|
||||
(-> data (+ (shl current-qword 2) 2))
|
||||
(-> data (+ (shl current-qword 2) 3))
|
||||
)
|
||||
)
|
||||
#f
|
||||
@@ -1053,14 +1034,10 @@
|
||||
|
||||
;; definition for function print-tree-bitmask
|
||||
(defun print-tree-bitmask ((bits int) (count int))
|
||||
(let
|
||||
((i 0))
|
||||
(while
|
||||
(< i count)
|
||||
(if (zero? (logand bits 1)) (format #t " ") (format #t "| "))
|
||||
(set! bits (shr bits 1))
|
||||
(+! i 1)
|
||||
)
|
||||
(dotimes
|
||||
(i count)
|
||||
(if (zero? (logand bits 1)) (format #t " ") (format #t "| "))
|
||||
(set! bits (shr bits 1))
|
||||
)
|
||||
#f
|
||||
)
|
||||
|
||||
@@ -650,13 +650,7 @@ TEST_F(FormRegressionTest, ExprRef) {
|
||||
std::string type = "(function object int object)";
|
||||
|
||||
std::string expected =
|
||||
"(begin\n"
|
||||
" (let\n"
|
||||
" ((v1-0 0))\n"
|
||||
" (while (< v1-0 arg1) (nop!) (nop!) (set! arg0 (cdr arg0)) (+! v1-0 1))\n"
|
||||
" )\n"
|
||||
" (car arg0)\n"
|
||||
" )";
|
||||
"(begin (dotimes (v1-0 arg1) (nop!) (nop!) (set! arg0 (cdr arg0))) (car arg0))";
|
||||
test_with_expr(func, type, expected, true, "");
|
||||
}
|
||||
|
||||
@@ -1862,15 +1856,11 @@ TEST_F(FormRegressionTest, ExprMemCopy) {
|
||||
std::string expected =
|
||||
"(let\n"
|
||||
" ((v0-0 arg0))\n"
|
||||
" (let\n"
|
||||
" ((v1-0 0))\n"
|
||||
" (while\n"
|
||||
" (< v1-0 arg2)\n"
|
||||
" (set! (-> (the-as (pointer int8) arg0)) (-> (the-as (pointer uint8) arg1)))\n"
|
||||
" (&+! arg0 1)\n"
|
||||
" (&+! arg1 1)\n"
|
||||
" (+! v1-0 1)\n"
|
||||
" )\n"
|
||||
" (dotimes\n"
|
||||
" (v1-0 arg2)\n"
|
||||
" (set! (-> (the-as (pointer int8) arg0)) (-> (the-as (pointer uint8) arg1)))\n"
|
||||
" (&+! arg0 1)\n"
|
||||
" (&+! arg1 1)\n"
|
||||
" )\n"
|
||||
" v0-0\n"
|
||||
" )";
|
||||
@@ -1905,15 +1895,11 @@ TEST_F(FormRegressionTest, ExprMemSet32) {
|
||||
std::string expected =
|
||||
"(let\n"
|
||||
" ((v0-0 arg0))\n"
|
||||
" (let\n"
|
||||
" ((v1-0 0))\n"
|
||||
" (while\n"
|
||||
" (< v1-0 arg1)\n"
|
||||
" (set! (-> (the-as (pointer int32) arg0)) arg2)\n"
|
||||
" (&+! arg0 4)\n"
|
||||
" (nop!)\n"
|
||||
" (+! v1-0 1)\n"
|
||||
" )\n"
|
||||
" (dotimes\n"
|
||||
" (v1-0 arg1)\n"
|
||||
" (set! (-> (the-as (pointer int32) arg0)) arg2)\n"
|
||||
" (&+! arg0 4)\n"
|
||||
" (nop!)\n"
|
||||
" )\n"
|
||||
" v0-0\n"
|
||||
" )";
|
||||
@@ -1951,21 +1937,17 @@ TEST_F(FormRegressionTest, ExprMemOr) {
|
||||
std::string expected =
|
||||
"(let\n"
|
||||
" ((v0-0 arg0))\n"
|
||||
" (let\n"
|
||||
" ((v1-0 0))\n"
|
||||
" (while\n"
|
||||
" (< v1-0 arg2)\n"
|
||||
" (set!\n"
|
||||
" (-> (the-as (pointer int8) arg0))\n"
|
||||
" (logior\n"
|
||||
" (-> (the-as (pointer uint8) arg0))\n"
|
||||
" (-> (the-as (pointer uint8) arg1))\n"
|
||||
" )\n"
|
||||
" (dotimes\n"
|
||||
" (v1-0 arg2)\n"
|
||||
" (set!\n"
|
||||
" (-> (the-as (pointer int8) arg0))\n"
|
||||
" (logior\n"
|
||||
" (-> (the-as (pointer uint8) arg0))\n"
|
||||
" (-> (the-as (pointer uint8) arg1))\n"
|
||||
" )\n"
|
||||
" (&+! arg0 1)\n"
|
||||
" (&+! arg1 1)\n"
|
||||
" (+! v1-0 1)\n"
|
||||
" )\n"
|
||||
" (&+! arg0 1)\n"
|
||||
" (&+! arg1 1)\n"
|
||||
" )\n"
|
||||
" v0-0\n"
|
||||
" )";
|
||||
@@ -2171,14 +2153,10 @@ TEST_F(FormRegressionTest, ExprPrintTreeBitmask) {
|
||||
|
||||
std::string expected =
|
||||
"(begin\n"
|
||||
" (let\n"
|
||||
" ((s4-0 0))\n"
|
||||
" (while\n"
|
||||
" (< s4-0 arg1)\n"
|
||||
" (if (zero? (logand arg0 1)) (format #t \" \") (format #t \"| \"))\n"
|
||||
" (set! arg0 (shr arg0 1))\n"
|
||||
" (+! s4-0 1)\n"
|
||||
" )\n"
|
||||
" (dotimes\n"
|
||||
" (s4-0 arg1)\n"
|
||||
" (if (zero? (logand arg0 1)) (format #t \" \") (format #t \"| \"))\n"
|
||||
" (set! arg0 (shr arg0 1))\n"
|
||||
" )\n"
|
||||
" #f\n"
|
||||
" )";
|
||||
@@ -2494,15 +2472,13 @@ TEST_F(FormRegressionTest, StringLt) {
|
||||
" ((method-of-type string length) arg1)\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" (v1-4 0)\n"
|
||||
" )\n"
|
||||
" (while\n"
|
||||
" (< v1-4 s4-1)\n"
|
||||
" (dotimes\n"
|
||||
" (v1-4 s4-1)\n"
|
||||
" (cond\n"
|
||||
" ((< (-> arg0 data v1-4) (-> arg1 data v1-4)) (return #t))\n"
|
||||
" ((< (-> arg1 data v1-4) (-> arg0 data v1-4)) (return #f))\n"
|
||||
" )\n"
|
||||
" (+! v1-4 1)\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" #f\n"
|
||||
|
||||
@@ -545,148 +545,107 @@ TEST_F(FormRegressionTest, ExprArrayMethod2) {
|
||||
" ((v1-1 (-> arg0 content-type symbol)))\n"
|
||||
" (cond\n"
|
||||
" ((= v1-1 (quote int32))\n"
|
||||
" (let\n"
|
||||
" ((s5-0 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-0 (-> arg0 length))\n"
|
||||
" (format\n"
|
||||
" #t\n"
|
||||
" (if (zero? s5-0) \"~D\" \" ~D\")\n"
|
||||
" (-> (the-as (array int32) arg0) s5-0)\n"
|
||||
" )\n"
|
||||
" (+! s5-0 1)\n"
|
||||
" (dotimes\n"
|
||||
" (s5-0 (-> arg0 length))\n"
|
||||
" (format\n"
|
||||
" #t\n"
|
||||
" (if (zero? s5-0) \"~D\" \" ~D\")\n"
|
||||
" (-> (the-as (array int32) arg0) s5-0)\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" ((= v1-1 (quote uint32))\n"
|
||||
" (let\n"
|
||||
" ((s5-1 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-1 (-> arg0 length))\n"
|
||||
" (format\n"
|
||||
" #t\n"
|
||||
" (if (zero? s5-1) \"~D\" \" ~D\")\n"
|
||||
" (-> (the-as (array uint32) arg0) s5-1)\n"
|
||||
" )\n"
|
||||
" (+! s5-1 1)\n"
|
||||
" (dotimes\n"
|
||||
" (s5-1 (-> arg0 length))\n"
|
||||
" (format\n"
|
||||
" #t\n"
|
||||
" (if (zero? s5-1) \"~D\" \" ~D\")\n"
|
||||
" (-> (the-as (array uint32) arg0) s5-1)\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" ((= v1-1 (quote int64))\n"
|
||||
" (let\n"
|
||||
" ((s5-2 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-2 (-> arg0 length))\n"
|
||||
" (format\n"
|
||||
" #t\n"
|
||||
" (if (zero? s5-2) \"~D\" \" ~D\")\n"
|
||||
" (-> (the-as (array int64) arg0) s5-2)\n"
|
||||
" )\n"
|
||||
" (+! s5-2 1)\n"
|
||||
" (dotimes\n"
|
||||
" (s5-2 (-> arg0 length))\n"
|
||||
" (format\n"
|
||||
" #t\n"
|
||||
" (if (zero? s5-2) \"~D\" \" ~D\")\n"
|
||||
" (-> (the-as (array int64) arg0) s5-2)\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" ((= v1-1 (quote uint64))\n"
|
||||
" (let\n"
|
||||
" ((s5-3 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-3 (-> arg0 length))\n"
|
||||
" (format\n"
|
||||
" #t\n"
|
||||
" (if (zero? s5-3) \"#x~X\" \" #x~X\")\n"
|
||||
" (-> (the-as (array uint64) arg0) s5-3)\n"
|
||||
" )\n"
|
||||
" (+! s5-3 1)\n"
|
||||
" (dotimes\n"
|
||||
" (s5-3 (-> arg0 length))\n"
|
||||
" (format\n"
|
||||
" #t\n"
|
||||
" (if (zero? s5-3) \"#x~X\" \" #x~X\")\n"
|
||||
" (-> (the-as (array uint64) arg0) s5-3)\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" ((= v1-1 (quote int8))\n"
|
||||
" (let\n"
|
||||
" ((s5-4 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-4 (-> arg0 length))\n"
|
||||
" (format\n"
|
||||
" #t\n"
|
||||
" (if (zero? s5-4) \"~D\" \" ~D\")\n"
|
||||
" (-> (the-as (array int8) arg0) s5-4)\n"
|
||||
" )\n"
|
||||
" (+! s5-4 1)\n"
|
||||
" (dotimes\n"
|
||||
" (s5-4 (-> arg0 length))\n"
|
||||
" (format\n"
|
||||
" #t\n"
|
||||
" (if (zero? s5-4) \"~D\" \" ~D\")\n"
|
||||
" (-> (the-as (array int8) arg0) s5-4)\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" ((= v1-1 (quote uint8))\n"
|
||||
" (let\n"
|
||||
" ((s5-5 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-5 (-> arg0 length))\n"
|
||||
" (format\n"
|
||||
" #t\n"
|
||||
" (if (zero? s5-5) \"~D\" \" ~D\")\n"
|
||||
" (-> (the-as (array uint8) arg0) s5-5)\n"
|
||||
" )\n"
|
||||
" (+! s5-5 1)\n"
|
||||
" (dotimes\n"
|
||||
" (s5-5 (-> arg0 length))\n"
|
||||
" (format\n"
|
||||
" #t\n"
|
||||
" (if (zero? s5-5) \"~D\" \" ~D\")\n"
|
||||
" (-> (the-as (array uint8) arg0) s5-5)\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" ((= v1-1 (quote int16))\n"
|
||||
" (let\n"
|
||||
" ((s5-6 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-6 (-> arg0 length))\n"
|
||||
" (format\n"
|
||||
" #t\n"
|
||||
" (if (zero? s5-6) \"~D\" \" ~D\")\n"
|
||||
" (-> (the-as (array int16) arg0) s5-6)\n"
|
||||
" )\n"
|
||||
" (+! s5-6 1)\n"
|
||||
" (dotimes\n"
|
||||
" (s5-6 (-> arg0 length))\n"
|
||||
" (format\n"
|
||||
" #t\n"
|
||||
" (if (zero? s5-6) \"~D\" \" ~D\")\n"
|
||||
" (-> (the-as (array int16) arg0) s5-6)\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" ((= v1-1 (quote uint16))\n"
|
||||
" (let\n"
|
||||
" ((s5-7 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-7 (-> arg0 length))\n"
|
||||
" (format\n"
|
||||
" #t\n"
|
||||
" (if (zero? s5-7) \"~D\" \" ~D\")\n"
|
||||
" (-> (the-as (array uint16) arg0) s5-7)\n"
|
||||
" )\n"
|
||||
" (+! s5-7 1)\n"
|
||||
" (dotimes\n"
|
||||
" (s5-7 (-> arg0 length))\n"
|
||||
" (format\n"
|
||||
" #t\n"
|
||||
" (if (zero? s5-7) \"~D\" \" ~D\")\n"
|
||||
" (-> (the-as (array uint16) arg0) s5-7)\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" (else\n"
|
||||
" (cond\n"
|
||||
" ((or (= v1-1 (quote uint128)) (= v1-1 (quote int128)))\n"
|
||||
" (let\n"
|
||||
" ((s5-8 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-8 (-> arg0 length))\n"
|
||||
" (dotimes\n"
|
||||
" (s5-8 (-> arg0 length))\n"
|
||||
" (let\n"
|
||||
" ((t9-10 format) (a0-21 #t) (a1-11 (if (zero? s5-8) \"#x~X\" \" #x~X\")))\n"
|
||||
" (let\n"
|
||||
" ((t9-10 format) (a0-21 #t) (a1-11 (if (zero? s5-8) \"#x~X\" \" #x~X\")))\n"
|
||||
" (let\n"
|
||||
" ((v1-42 (+ (shl s5-8 4) (the-as int (the-as (array uint128) arg0))))\n"
|
||||
" )\n"
|
||||
" (.lq a2-8 12 v1-42)\n"
|
||||
" )\n"
|
||||
" (t9-10 a0-21 a1-11 a2-8)\n"
|
||||
" ((v1-42 (+ (shl s5-8 4) (the-as int (the-as (array uint128) arg0)))))\n"
|
||||
" (.lq a2-8 12 v1-42)\n"
|
||||
" )\n"
|
||||
" (+! s5-8 1)\n"
|
||||
" (t9-10 a0-21 a1-11 a2-8)\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" (else\n"
|
||||
" (let\n"
|
||||
" ((s5-9 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-9 (-> arg0 length))\n"
|
||||
" (format\n"
|
||||
" #t\n"
|
||||
" (if (zero? s5-9) \"~D\" \" ~D\")\n"
|
||||
" (-> (the-as (array int32) arg0) s5-9)\n"
|
||||
" )\n"
|
||||
" (+! s5-9 1)\n"
|
||||
" (dotimes\n"
|
||||
" (s5-9 (-> arg0 length))\n"
|
||||
" (format\n"
|
||||
" #t\n"
|
||||
" (if (zero? s5-9) \"~D\" \" ~D\")\n"
|
||||
" (-> (the-as (array int32) arg0) s5-9)\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
@@ -696,30 +655,22 @@ TEST_F(FormRegressionTest, ExprArrayMethod2) {
|
||||
" )\n"
|
||||
" (cond\n"
|
||||
" ((= (-> arg0 content-type) float)\n"
|
||||
" (let\n"
|
||||
" ((s5-10 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-10 (-> arg0 length))\n"
|
||||
" (if\n"
|
||||
" (zero? s5-10)\n"
|
||||
" (format #t \"~f\" (-> (the-as (array float) arg0) s5-10))\n"
|
||||
" (format #t \" ~f\" (-> (the-as (array float) arg0) s5-10))\n"
|
||||
" )\n"
|
||||
" (+! s5-10 1)\n"
|
||||
" (dotimes\n"
|
||||
" (s5-10 (-> arg0 length))\n"
|
||||
" (if\n"
|
||||
" (zero? s5-10)\n"
|
||||
" (format #t \"~f\" (-> (the-as (array float) arg0) s5-10))\n"
|
||||
" (format #t \" ~f\" (-> (the-as (array float) arg0) s5-10))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" (else\n"
|
||||
" (let\n"
|
||||
" ((s5-11 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-11 (-> arg0 length))\n"
|
||||
" (if\n"
|
||||
" (zero? s5-11)\n"
|
||||
" (format #t \"~A\" (-> (the-as (array basic) arg0) s5-11))\n"
|
||||
" (format #t \" ~A\" (-> (the-as (array basic) arg0) s5-11))\n"
|
||||
" )\n"
|
||||
" (+! s5-11 1)\n"
|
||||
" (dotimes\n"
|
||||
" (s5-11 (-> arg0 length))\n"
|
||||
" (if\n"
|
||||
" (zero? s5-11)\n"
|
||||
" (format #t \"~A\" (-> (the-as (array basic) arg0) s5-11))\n"
|
||||
" (format #t \" ~A\" (-> (the-as (array basic) arg0) s5-11))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
@@ -1222,118 +1173,72 @@ TEST_F(FormRegressionTest, ExprArrayMethod3) {
|
||||
" ((v1-1 (-> arg0 content-type symbol)))\n"
|
||||
" (cond\n"
|
||||
" ((= v1-1 (quote int32))\n"
|
||||
" (let\n"
|
||||
" ((s5-0 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-0 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~D~%\" s5-0 (-> (the-as (array int32) arg0) s5-0))\n"
|
||||
" (+! s5-0 1)\n"
|
||||
" )\n"
|
||||
" (dotimes\n"
|
||||
" (s5-0 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~D~%\" s5-0 (-> (the-as (array int32) arg0) s5-0))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" ((= v1-1 (quote uint32))\n"
|
||||
" (let\n"
|
||||
" ((s5-1 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-1 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~D~%\" s5-1 (-> (the-as (array uint32) arg0) s5-1))\n"
|
||||
" (+! s5-1 1)\n"
|
||||
" )\n"
|
||||
" (dotimes\n"
|
||||
" (s5-1 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~D~%\" s5-1 (-> (the-as (array uint32) arg0) s5-1))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" ((= v1-1 (quote int64))\n"
|
||||
" (let\n"
|
||||
" ((s5-2 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-2 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~D~%\" s5-2 (-> (the-as (array int64) arg0) s5-2))\n"
|
||||
" (+! s5-2 1)\n"
|
||||
" )\n"
|
||||
" (dotimes\n"
|
||||
" (s5-2 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~D~%\" s5-2 (-> (the-as (array int64) arg0) s5-2))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" ((= v1-1 (quote uint64))\n"
|
||||
" (let\n"
|
||||
" ((s5-3 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-3 (-> arg0 length))\n"
|
||||
" (format\n"
|
||||
" #t\n"
|
||||
" \"~T [~D] #x~X~%\"\n"
|
||||
" s5-3\n"
|
||||
" (-> (the-as (array uint64) arg0) s5-3)\n"
|
||||
" )\n"
|
||||
" (+! s5-3 1)\n"
|
||||
" )\n"
|
||||
" (dotimes\n"
|
||||
" (s5-3 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] #x~X~%\" s5-3 (-> (the-as (array uint64) arg0) s5-3))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" ((= v1-1 (quote int8))\n"
|
||||
" (let\n"
|
||||
" ((s5-4 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-4 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~D~%\" s5-4 (-> (the-as (array int8) arg0) s5-4))\n"
|
||||
" (+! s5-4 1)\n"
|
||||
" )\n"
|
||||
" (dotimes\n"
|
||||
" (s5-4 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~D~%\" s5-4 (-> (the-as (array int8) arg0) s5-4))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" ((= v1-1 (quote uint8))\n"
|
||||
" (let\n"
|
||||
" ((s5-5 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-5 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~D~%\" s5-5 (-> (the-as (array int8) arg0) s5-5))\n"
|
||||
" (+! s5-5 1)\n"
|
||||
" )\n"
|
||||
" (dotimes\n"
|
||||
" (s5-5 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~D~%\" s5-5 (-> (the-as (array int8) arg0) s5-5))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" ((= v1-1 (quote int16))\n"
|
||||
" (let\n"
|
||||
" ((s5-6 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-6 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~D~%\" s5-6 (-> (the-as (array int16) arg0) s5-6))\n"
|
||||
" (+! s5-6 1)\n"
|
||||
" )\n"
|
||||
" (dotimes\n"
|
||||
" (s5-6 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~D~%\" s5-6 (-> (the-as (array int16) arg0) s5-6))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" ((= v1-1 (quote uint16))\n"
|
||||
" (let\n"
|
||||
" ((s5-7 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-7 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~D~%\" s5-7 (-> (the-as (array uint16) arg0) s5-7))\n"
|
||||
" (+! s5-7 1)\n"
|
||||
" )\n"
|
||||
" (dotimes\n"
|
||||
" (s5-7 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~D~%\" s5-7 (-> (the-as (array uint16) arg0) s5-7))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" (else\n"
|
||||
" (cond\n"
|
||||
" ((or (= v1-1 (quote int128)) (= v1-1 (quote uint128)))\n"
|
||||
" (let\n"
|
||||
" ((s5-8 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-8 (-> arg0 length))\n"
|
||||
" (dotimes\n"
|
||||
" (s5-8 (-> arg0 length))\n"
|
||||
" (let\n"
|
||||
" ((t9-14 format) (a0-25 #t) (a1-15 \"~T [~D] #x~X~%\") (a2-13 s5-8))\n"
|
||||
" (let\n"
|
||||
" ((t9-14 format) (a0-25 #t) (a1-15 \"~T [~D] #x~X~%\") (a2-13 s5-8))\n"
|
||||
" (let\n"
|
||||
" ((v1-42 (+ (shl s5-8 4) (the-as int (the-as (array uint128) arg0))))\n"
|
||||
" )\n"
|
||||
" (.lq a3-10 12 v1-42)\n"
|
||||
" )\n"
|
||||
" (t9-14 a0-25 a1-15 a2-13 a3-10)\n"
|
||||
" ((v1-42 (+ (shl s5-8 4) (the-as int (the-as (array uint128) arg0)))))\n"
|
||||
" (.lq a3-10 12 v1-42)\n"
|
||||
" )\n"
|
||||
" (+! s5-8 1)\n"
|
||||
" (t9-14 a0-25 a1-15 a2-13 a3-10)\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" (else\n"
|
||||
" (let\n"
|
||||
" ((s5-9 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-9 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~D~%\" s5-9 (-> arg0 s5-9))\n"
|
||||
" (+! s5-9 1)\n"
|
||||
" )\n"
|
||||
" (dotimes\n"
|
||||
" (s5-9 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~D~%\" s5-9 (-> arg0 s5-9))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
@@ -1342,23 +1247,15 @@ TEST_F(FormRegressionTest, ExprArrayMethod3) {
|
||||
" )\n"
|
||||
" (cond\n"
|
||||
" ((= (-> arg0 content-type) float)\n"
|
||||
" (let\n"
|
||||
" ((s5-10 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-10 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~f~%\" s5-10 (-> (the-as (array float) arg0) s5-10))\n"
|
||||
" (+! s5-10 1)\n"
|
||||
" )\n"
|
||||
" (dotimes\n"
|
||||
" (s5-10 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~f~%\" s5-10 (-> (the-as (array float) arg0) s5-10))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" (else\n"
|
||||
" (let\n"
|
||||
" ((s5-11 0))\n"
|
||||
" (while\n"
|
||||
" (< s5-11 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~A~%\" s5-11 (-> (the-as (array basic) arg0) s5-11))\n"
|
||||
" (+! s5-11 1)\n"
|
||||
" )\n"
|
||||
" (dotimes\n"
|
||||
" (s5-11 (-> arg0 length))\n"
|
||||
" (format #t \"~T [~D] ~A~%\" s5-11 (-> (the-as (array basic) arg0) s5-11))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
|
||||
@@ -932,20 +932,16 @@ TEST_F(FormRegressionTest, ExprMethod0DeadPool) {
|
||||
" (set! (-> s3-0 child) #f)\n"
|
||||
" (set! (-> s3-0 self) s3-0)\n"
|
||||
" (set! (-> s3-0 ppointer) (&-> s3-0 self))\n"
|
||||
" (let\n"
|
||||
" ((s2-1 0))\n"
|
||||
" (while\n"
|
||||
" (< s2-1 arg2)\n"
|
||||
" (let\n"
|
||||
" ((s1-0 (-> s3-0 child))\n"
|
||||
" (v1-5 ((method-of-type process new) arg0 process (quote dead) arg3))\n"
|
||||
" )\n"
|
||||
" (let ((a0-3 v1-5)) (set! (-> s3-0 child) (if a0-3 (-> a0-3 ppointer))))\n"
|
||||
" (let ((a0-4 s3-0)) (set! (-> v1-5 parent) (if a0-4 (-> a0-4 ppointer))))\n"
|
||||
" (set! (-> v1-5 pool) s3-0)\n"
|
||||
" (set! (-> v1-5 brother) s1-0)\n"
|
||||
" (dotimes\n"
|
||||
" (s2-1 arg2)\n"
|
||||
" (let\n"
|
||||
" ((s1-0 (-> s3-0 child))\n"
|
||||
" (v1-5 ((method-of-type process new) arg0 process (quote dead) arg3))\n"
|
||||
" )\n"
|
||||
" (+! s2-1 1)\n"
|
||||
" (let ((a0-3 v1-5)) (set! (-> s3-0 child) (if a0-3 (-> a0-3 ppointer))))\n"
|
||||
" (let ((a0-4 s3-0)) (set! (-> v1-5 parent) (if a0-4 (-> a0-4 ppointer))))\n"
|
||||
" (set! (-> v1-5 pool) s3-0)\n"
|
||||
" (set! (-> v1-5 brother) s1-0)\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" s3-0\n"
|
||||
|
||||
Reference in New Issue
Block a user