mirror of
https://github.com/open-goal/jak-project
synced 2026-06-03 02:30:13 -04:00
[Decompilation] Fixes to compiler/decompiler for gcommon (#227)
* fix shift naming issue * fix bad argument variable names * fix missing variable issue * small missing things * wip * cleanup * wip * fix conditions * small bug fix in rewriter * fix incredibly stupid printing bug
This commit is contained in:
@@ -547,7 +547,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod2) {
|
||||
" ((= v1-1 (quote int32))\n"
|
||||
" (set! s5-0 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-0 (-> gp-0 length))\n"
|
||||
" (< s5-0 (-> gp-0 length))\n"
|
||||
" (format\n"
|
||||
" (quote #t)\n"
|
||||
" (if (zero? s5-0) L341 L340)\n"
|
||||
@@ -561,7 +561,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod2) {
|
||||
" ((= v1-1 (quote uint32))\n"
|
||||
" (set! s5-1 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-1 (-> gp-0 length))\n"
|
||||
" (< s5-1 (-> gp-0 length))\n"
|
||||
" (format\n"
|
||||
" (quote #t)\n"
|
||||
" (if (zero? s5-1) L341 L340)\n"
|
||||
@@ -575,7 +575,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod2) {
|
||||
" ((= v1-1 (quote int64))\n"
|
||||
" (set! s5-2 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-2 (-> gp-0 length))\n"
|
||||
" (< s5-2 (-> gp-0 length))\n"
|
||||
" (format\n"
|
||||
" (quote #t)\n"
|
||||
" (if (zero? s5-2) L341 L340)\n"
|
||||
@@ -589,7 +589,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod2) {
|
||||
" ((= v1-1 (quote uint64))\n"
|
||||
" (set! s5-3 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-3 (-> gp-0 length))\n"
|
||||
" (< s5-3 (-> gp-0 length))\n"
|
||||
" (format\n"
|
||||
" (quote #t)\n"
|
||||
" (if (zero? s5-3) L339 L338)\n"
|
||||
@@ -603,7 +603,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod2) {
|
||||
" ((= v1-1 (quote int8))\n"
|
||||
" (set! s5-4 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-4 (-> gp-0 length))\n"
|
||||
" (< s5-4 (-> gp-0 length))\n"
|
||||
" (format\n"
|
||||
" (quote #t)\n"
|
||||
" (if (zero? s5-4) L341 L340)\n"
|
||||
@@ -617,7 +617,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod2) {
|
||||
" ((= v1-1 (quote uint8))\n"
|
||||
" (set! s5-5 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-5 (-> gp-0 length))\n"
|
||||
" (< s5-5 (-> gp-0 length))\n"
|
||||
" (format\n"
|
||||
" (quote #t)\n"
|
||||
" (if (zero? s5-5) L341 L340)\n"
|
||||
@@ -631,7 +631,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod2) {
|
||||
" ((= v1-1 (quote int16))\n"
|
||||
" (set! s5-6 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-6 (-> gp-0 length))\n"
|
||||
" (< s5-6 (-> gp-0 length))\n"
|
||||
" (format\n"
|
||||
" (quote #t)\n"
|
||||
" (if (zero? s5-6) L341 L340)\n"
|
||||
@@ -645,7 +645,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod2) {
|
||||
" ((= v1-1 (quote uint16))\n"
|
||||
" (set! s5-7 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-7 (-> gp-0 length))\n"
|
||||
" (< s5-7 (-> gp-0 length))\n"
|
||||
" (format\n"
|
||||
" (quote #t)\n"
|
||||
" (if (zero? s5-7) L341 L340)\n"
|
||||
@@ -662,14 +662,14 @@ TEST_F(FormRegressionTest, ExprArrayMethod2) {
|
||||
" (v1-40\n"
|
||||
" (set! s5-8 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-8 (-> gp-0 length))\n"
|
||||
" (< s5-8 (-> gp-0 length))\n"
|
||||
" (set! t9-10 format)\n"
|
||||
" (set! a0-21 (quote #t))\n"
|
||||
" (set! a1-11 (if (zero? s5-8) L339 L338))\n"
|
||||
" (set!\n"
|
||||
" v1-42\n"
|
||||
" (+\n"
|
||||
" (sll (the-as uint s5-8) 4)\n"
|
||||
" (shl s5-8 4)\n"
|
||||
" (the-as int (the-as (array uint128) gp-0))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
@@ -683,7 +683,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod2) {
|
||||
" (else\n"
|
||||
" (set! s5-9 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-9 (-> gp-0 length))\n"
|
||||
" (< s5-9 (-> gp-0 length))\n"
|
||||
" (format\n"
|
||||
" (quote #t)\n"
|
||||
" (if (zero? s5-9) L341 L340)\n"
|
||||
@@ -704,7 +704,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod2) {
|
||||
" ((= (-> gp-0 content-type) float)\n"
|
||||
" (set! s5-10 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-10 (-> gp-0 length))\n"
|
||||
" (< s5-10 (-> gp-0 length))\n"
|
||||
" (if\n"
|
||||
" (zero? s5-10)\n"
|
||||
" (format (quote #t) L343 (-> (the-as (array float) gp-0) s5-10))\n"
|
||||
@@ -718,7 +718,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod2) {
|
||||
" (else\n"
|
||||
" (set! s5-11 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-11 (-> gp-0 length))\n"
|
||||
" (< s5-11 (-> gp-0 length))\n"
|
||||
" (if\n"
|
||||
" (zero? s5-11)\n"
|
||||
" (format (quote #t) L336 (-> (the-as (array basic) gp-0) s5-11))\n"
|
||||
@@ -1231,7 +1231,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod3) {
|
||||
" ((= v1-1 (quote int32))\n"
|
||||
" (set! s5-0 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-0 (-> gp-0 length))\n"
|
||||
" (< s5-0 (-> gp-0 length))\n"
|
||||
" (format (quote #t) L328 s5-0 (-> (the-as (array int32) gp-0) s5-0))\n"
|
||||
" (set! s5-0 (+ s5-0 1))\n"
|
||||
" )\n"
|
||||
@@ -1241,7 +1241,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod3) {
|
||||
" ((= v1-1 (quote uint32))\n"
|
||||
" (set! s5-1 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-1 (-> gp-0 length))\n"
|
||||
" (< s5-1 (-> gp-0 length))\n"
|
||||
" (format (quote #t) L328 s5-1 (-> (the-as (array uint32) gp-0) s5-1))\n"
|
||||
" (set! s5-1 (+ s5-1 1))\n"
|
||||
" )\n"
|
||||
@@ -1251,7 +1251,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod3) {
|
||||
" ((= v1-1 (quote int64))\n"
|
||||
" (set! s5-2 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-2 (-> gp-0 length))\n"
|
||||
" (< s5-2 (-> gp-0 length))\n"
|
||||
" (format (quote #t) L328 s5-2 (-> (the-as (array int64) gp-0) s5-2))\n"
|
||||
" (set! s5-2 (+ s5-2 1))\n"
|
||||
" )\n"
|
||||
@@ -1261,7 +1261,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod3) {
|
||||
" ((= v1-1 (quote uint64))\n"
|
||||
" (set! s5-3 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-3 (-> gp-0 length))\n"
|
||||
" (< s5-3 (-> gp-0 length))\n"
|
||||
" (format (quote #t) L327 s5-3 (-> (the-as (array uint64) gp-0) s5-3))\n"
|
||||
" (set! s5-3 (+ s5-3 1))\n"
|
||||
" )\n"
|
||||
@@ -1271,7 +1271,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod3) {
|
||||
" ((= v1-1 (quote int8))\n"
|
||||
" (set! s5-4 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-4 (-> gp-0 length))\n"
|
||||
" (< s5-4 (-> gp-0 length))\n"
|
||||
" (format (quote #t) L328 s5-4 (-> (the-as (array int8) gp-0) s5-4))\n"
|
||||
" (set! s5-4 (+ s5-4 1))\n"
|
||||
" )\n"
|
||||
@@ -1281,7 +1281,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod3) {
|
||||
" ((= v1-1 (quote uint8))\n"
|
||||
" (set! s5-5 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-5 (-> gp-0 length))\n"
|
||||
" (< s5-5 (-> gp-0 length))\n"
|
||||
" (format (quote #t) L328 s5-5 (-> (the-as (array int8) gp-0) s5-5))\n"
|
||||
" (set! s5-5 (+ s5-5 1))\n"
|
||||
" )\n"
|
||||
@@ -1291,7 +1291,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod3) {
|
||||
" ((= v1-1 (quote int16))\n"
|
||||
" (set! s5-6 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-6 (-> gp-0 length))\n"
|
||||
" (< s5-6 (-> gp-0 length))\n"
|
||||
" (format (quote #t) L328 s5-6 (-> (the-as (array int16) gp-0) s5-6))\n"
|
||||
" (set! s5-6 (+ s5-6 1))\n"
|
||||
" )\n"
|
||||
@@ -1301,7 +1301,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod3) {
|
||||
" ((= v1-1 (quote uint16))\n"
|
||||
" (set! s5-7 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-7 (-> gp-0 length))\n"
|
||||
" (< s5-7 (-> gp-0 length))\n"
|
||||
" (format (quote #t) L328 s5-7 (-> (the-as (array uint16) gp-0) s5-7))\n"
|
||||
" (set! s5-7 (+ s5-7 1))\n"
|
||||
" )\n"
|
||||
@@ -1314,7 +1314,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod3) {
|
||||
" (v1-40\n"
|
||||
" (set! s5-8 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-8 (-> gp-0 length))\n"
|
||||
" (< s5-8 (-> gp-0 length))\n"
|
||||
" (set! t9-14 format)\n"
|
||||
" (set! a0-25 (quote #t))\n"
|
||||
" (set! a1-15 L327)\n"
|
||||
@@ -1322,7 +1322,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod3) {
|
||||
" (set!\n"
|
||||
" v1-42\n"
|
||||
" (+\n"
|
||||
" (sll (the-as uint s5-8) 4)\n"
|
||||
" (shl s5-8 4)\n"
|
||||
" (the-as int (the-as (array uint128) gp-0))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
@@ -1336,7 +1336,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod3) {
|
||||
" (else\n"
|
||||
" (set! s5-9 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-9 (-> gp-0 length))\n"
|
||||
" (< s5-9 (-> gp-0 length))\n"
|
||||
" (format (quote #t) L328 s5-9 (-> gp-0 s5-9))\n"
|
||||
" (set! s5-9 (+ s5-9 1))\n"
|
||||
" )\n"
|
||||
@@ -1353,7 +1353,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod3) {
|
||||
" ((= (-> gp-0 content-type) float)\n"
|
||||
" (set! s5-10 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-10 (-> gp-0 length))\n"
|
||||
" (< s5-10 (-> gp-0 length))\n"
|
||||
" (format (quote #t) L326 s5-10 (-> (the-as (array float) gp-0) s5-10))\n"
|
||||
" (set! s5-10 (+ s5-10 1))\n"
|
||||
" )\n"
|
||||
@@ -1363,7 +1363,7 @@ TEST_F(FormRegressionTest, ExprArrayMethod3) {
|
||||
" (else\n"
|
||||
" (set! s5-11 0)\n"
|
||||
" (while\n"
|
||||
" (<.si s5-11 (-> gp-0 length))\n"
|
||||
" (< s5-11 (-> gp-0 length))\n"
|
||||
" (format (quote #t) L325 s5-11 (-> (the-as (array basic) gp-0) s5-11))\n"
|
||||
" (set! s5-11 (+ s5-11 1))\n"
|
||||
" )\n"
|
||||
@@ -1932,13 +1932,16 @@ TEST_F(FormRegressionTest, ExprValid) {
|
||||
" (set! s3-0 a1-0)\n"
|
||||
" (set! s4-0 a2-0)\n"
|
||||
" (set! s5-0 t0-0)\n"
|
||||
" (and (>=.ui gp-0 __START-OF-TABLE__) (begin (<.ui gp-0 134217728) v1-1))\n"
|
||||
" (and\n"
|
||||
" (>= (the-as uint gp-0) (the-as uint __START-OF-TABLE__))\n"
|
||||
" (< (the-as uint gp-0) (the-as uint 134217728))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" (cond\n"
|
||||
" ((not s3-0)\n"
|
||||
" (cond\n"
|
||||
" ((nonzero? (logand gp-0 3))\n"
|
||||
" ((nonzero? (logand (the-as int gp-0) 3))\n"
|
||||
" (if s4-0 (set! v1-4 (format s5-0 L321 gp-0 s4-0)))\n"
|
||||
" (quote #f)\n"
|
||||
" )\n"
|
||||
@@ -1946,18 +1949,22 @@ TEST_F(FormRegressionTest, ExprValid) {
|
||||
" (else (quote #t))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" ((and a3-2 (not gp-0)) (quote #t))\n"
|
||||
" ((and a3-0 (not gp-0)) (quote #t))\n"
|
||||
" (else\n"
|
||||
" (cond\n"
|
||||
" ((= s3-0 structure)\n"
|
||||
" (cond\n"
|
||||
" ((nonzero? (logand gp-0 15))\n"
|
||||
" ((nonzero? (logand (the-as int gp-0) 15))\n"
|
||||
" (if s4-0 (set! v1-8 (format s5-0 L319 gp-0 s4-0 s3-0)))\n"
|
||||
" (quote #f)\n"
|
||||
" )\n"
|
||||
" ((or\n"
|
||||
" (not v1-1)\n"
|
||||
" (begin (set! v1-10 32768) (.daddu v1-11 v1-10 s7-0) (<.ui gp-0 v1-11))\n"
|
||||
" (begin\n"
|
||||
" (set! v1-10 32768)\n"
|
||||
" (.daddu v1-11 v1-10 s7-0)\n"
|
||||
" (< (the-as uint gp-0) (the-as uint v1-11))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" (if s4-0 (set! v1-13 (format s5-0 L318 gp-0 s4-0 s3-0)))\n"
|
||||
" (quote #f)\n"
|
||||
@@ -1967,7 +1974,7 @@ TEST_F(FormRegressionTest, ExprValid) {
|
||||
" )\n"
|
||||
" ((= s3-0 pair)\n"
|
||||
" (cond\n"
|
||||
" ((!= (logand gp-0 7) 2)\n"
|
||||
" ((!= (logand (the-as int gp-0) 7) 2)\n"
|
||||
" (if s4-0 (set! v1-15 (format s5-0 L319 gp-0 s4-0 s3-0)))\n"
|
||||
" (quote #f)\n"
|
||||
" )\n"
|
||||
@@ -1980,14 +1987,14 @@ TEST_F(FormRegressionTest, ExprValid) {
|
||||
" )\n"
|
||||
" ((= s3-0 binteger)\n"
|
||||
" (cond\n"
|
||||
" ((zero? (logand gp-0 7)) (quote #t))\n"
|
||||
" ((zero? (logand (the-as int gp-0) 7)) (quote #t))\n"
|
||||
" (else\n"
|
||||
" (if s4-0 (set! v1-20 (format s5-0 L319 gp-0 s4-0 s3-0)))\n"
|
||||
" (quote #f)\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" ((!= (logand gp-0 7) 4)\n"
|
||||
" ((!= (logand (the-as int gp-0) 7) 4)\n"
|
||||
" (if s4-0 (set! v1-22 (format s5-0 L319 gp-0 s4-0 s3-0)))\n"
|
||||
" (quote #f)\n"
|
||||
" )\n"
|
||||
@@ -2020,14 +2027,18 @@ TEST_F(FormRegressionTest, ExprValid) {
|
||||
" (set! v1-43 32768)\n"
|
||||
" (.daddu v1-44 v1-43 s7-0)\n"
|
||||
" (cond\n"
|
||||
" ((>=.ui gp-0 v1-44)\n"
|
||||
" ((>= (the-as uint gp-0) (the-as uint v1-44))\n"
|
||||
" (if s4-0 (set! v1-46 (format s5-0 L315 gp-0 s4-0 s3-0)))\n"
|
||||
" (quote #f)\n"
|
||||
" )\n"
|
||||
" (else (quote #t))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" ((begin (set! v1-47 32768) (.daddu v1-48 v1-47 s7-0) (<.ui gp-0 v1-48))\n"
|
||||
" ((begin\n"
|
||||
" (set! v1-47 32768)\n"
|
||||
" (.daddu v1-48 v1-47 s7-0)\n"
|
||||
" (< (the-as uint gp-0) (the-as uint v1-48))\n"
|
||||
" )\n"
|
||||
" (if s4-0 (set! v1-50 (format s5-0 L314 gp-0 s4-0 s3-0)))\n"
|
||||
" (quote #f)\n"
|
||||
" )\n"
|
||||
|
||||
Reference in New Issue
Block a user