T3: batch t3_S16 — restruct: batch t3_S16 rung S — 50 files (TUs; 1415 drawable) · 330 bodies: 0 sites → members / 0 kept / 0 skipped · levers off 0 · compiles 8 in 15 s wall · final 50/50 identical · written 8 files | R22 check-all: 218 passed, 0 failed of 218 | type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 428325 cast sites in 61049 bodies over 8 base classes (4 forms + A, coverage OK) · 229 lying declarations / 24 callees (+5293 K&R sites, +418 cross-binary apart) · controls 4/4 (restruct_cycle)

This commit is contained in:
Drew T
2026-10-01 16:29:08 -06:00
parent 54a78ac516
commit 6535f42559
12 changed files with 581 additions and 306 deletions
+157 -157
View File
@@ -1,7 +1,7 @@
{
"head": "28ba667744",
"head": "112ef8d20a",
"stamp": "588cbf38c6e4",
"generated": "2026-10-01 16:02",
"generated": "2026-10-01 16:19",
"aliases": [
"main",
"md_SC07_004",
@@ -21,176 +21,176 @@
"main": {
"objects": 85,
"identical": 85,
"seconds": 10.984000000000005,
"mean_s": 0.129
"seconds": 7.445999999999998,
"mean_s": 0.088
},
"md_SC07_004": {
"objects": 1,
"identical": 1,
"seconds": 0.763,
"mean_s": 0.763
"seconds": 0.56,
"mean_s": 0.56
},
"ov_SC03_015": {
"objects": 32,
"identical": 32,
"seconds": 7.273,
"mean_s": 0.227
"seconds": 5.205000000000001,
"mean_s": 0.163
},
"ov_SC04_011": {
"objects": 28,
"identical": 28,
"seconds": 5.548000000000002,
"mean_s": 0.198
"seconds": 4.378,
"mean_s": 0.156
}
},
"per_object_seconds": {
"build/src/800.o": 1.065,
"build/src/800_b.o": 0.121,
"build/src/800_b_2.o": 0.467,
"build/src/800_b_o0a.o": 0.122,
"build/src/800_c.o": 0.297,
"build/src/800b2.o": 0.134,
"build/src/apicard1.o": 0.138,
"build/src/apicard2.o": 0.103,
"build/src/apicard3.o": 0.127,
"build/src/apicard4.o": 0.085,
"build/src/apicard5.o": 0.15,
"build/src/apicard6.o": 0.127,
"build/src/apicard7.o": 0.143,
"build/src/boot.o": 0.17,
"build/src/gap.o": 0.159,
"build/src/libapi1.o": 0.172,
"build/src/libapi2.o": 0.115,
"build/src/libc2_1.o": 0.107,
"build/src/libc2_2.o": 0.092,
"build/src/libcd1.o": 0.129,
"build/src/libcd2.o": 0.091,
"build/src/libetc.o": 0.107,
"build/src/libgpu.o": 0.102,
"build/src/libgpu2.o": 0.114,
"build/src/libgs1.o": 0.115,
"build/src/libgs2.o": 0.116,
"build/src/libgs3.o": 0.104,
"build/src/libgs4.o": 0.106,
"build/src/libgs5.o": 0.106,
"build/src/libgs6.o": 0.13,
"build/src/libgs7.o": 0.113,
"build/src/libgs8.o": 0.101,
"build/src/libgte1.o": 0.094,
"build/src/libgte10.o": 0.101,
"build/src/libgte11.o": 0.096,
"build/src/libgte12.o": 0.093,
"build/src/libgte13.o": 0.105,
"build/src/libgte14.o": 0.097,
"build/src/libgte15.o": 0.084,
"build/src/libgte16.o": 0.099,
"build/src/libgte17.o": 0.109,
"build/src/libgte18.o": 0.102,
"build/src/libgte19.o": 0.092,
"build/src/libgte2.o": 0.106,
"build/src/libgte20.o": 0.1,
"build/src/libgte21.o": 0.097,
"build/src/libgte22.o": 0.115,
"build/src/libgte23.o": 0.108,
"build/src/libgte24.o": 0.105,
"build/src/libgte25.o": 0.118,
"build/src/libgte26.o": 0.113,
"build/src/libgte27.o": 0.089,
"build/src/libgte28.o": 0.109,
"build/src/libgte29.o": 0.096,
"build/src/libgte3.o": 0.128,
"build/src/libgte30.o": 0.134,
"build/src/libgte4.o": 0.108,
"build/src/libgte5.o": 0.102,
"build/src/libgte6.o": 0.117,
"build/src/libgte7.o": 0.099,
"build/src/libgte8.o": 0.095,
"build/src/libgte9.o": 0.107,
"build/src/libmcrd1.o": 0.104,
"build/src/libmcrd2.o": 0.1,
"build/src/libpad1.o": 0.117,
"build/src/libpad2.o": 0.117,
"build/src/sgap.o": 0.092,
"build/src/sgap_2.o": 0.121,
"build/src/sgap_3.o": 0.105,
"build/src/sgap_4.o": 0.105,
"build/src/sgap_5.o": 0.094,
"build/src/sgap_6.o": 0.096,
"build/src/sgap_8.o": 0.094,
"build/src/snd1.o": 0.12,
"build/src/snd10.o": 0.102,
"build/src/snd11.o": 0.102,
"build/src/snd12.o": 0.126,
"build/src/snd2.o": 0.12,
"build/src/snd3.o": 0.121,
"build/src/snd4.o": 0.113,
"build/src/snd5.o": 0.106,
"build/src/snd6.o": 0.124,
"build/src/snd7.o": 0.114,
"build/src/snd8.o": 0.111,
"build/src/snd9.o": 0.134,
"build/src/md_SC07_004/md_SC07_004.o": 0.763,
"build/src/ov_SC03_015/ov_SC03_015.o": 0.197,
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.712,
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.58,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.093,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.154,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.195,
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.242,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.203,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.119,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.135,
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.263,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.13,
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.259,
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.158,
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.111,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.11,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.137,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.64,
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.4,
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.158,
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.286,
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.091,
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.155,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.124,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.268,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.325,
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.106,
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.41,
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.109,
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.14,
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.13,
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.133,
"build/src/ov_SC04_011/ov_SC04_011.o": 0.195,
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.554,
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.477,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.098,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.094,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.181,
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.218,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.158,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.115,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.106,
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.262,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.12,
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.235,
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.134,
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.107,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.115,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.147,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.434,
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.279,
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.149,
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.228,
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.101,
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.144,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.105,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.141,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.501,
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.075,
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.075
"build/src/800.o": 0.77,
"build/src/800_b.o": 0.086,
"build/src/800_b_2.o": 0.315,
"build/src/800_b_o0a.o": 0.089,
"build/src/800_c.o": 0.209,
"build/src/800b2.o": 0.084,
"build/src/apicard1.o": 0.079,
"build/src/apicard2.o": 0.071,
"build/src/apicard3.o": 0.083,
"build/src/apicard4.o": 0.086,
"build/src/apicard5.o": 0.074,
"build/src/apicard6.o": 0.084,
"build/src/apicard7.o": 0.084,
"build/src/boot.o": 0.113,
"build/src/gap.o": 0.074,
"build/src/libapi1.o": 0.081,
"build/src/libapi2.o": 0.06,
"build/src/libc2_1.o": 0.086,
"build/src/libc2_2.o": 0.065,
"build/src/libcd1.o": 0.104,
"build/src/libcd2.o": 0.068,
"build/src/libetc.o": 0.068,
"build/src/libgpu.o": 0.084,
"build/src/libgpu2.o": 0.075,
"build/src/libgs1.o": 0.071,
"build/src/libgs2.o": 0.072,
"build/src/libgs3.o": 0.071,
"build/src/libgs4.o": 0.071,
"build/src/libgs5.o": 0.061,
"build/src/libgs6.o": 0.079,
"build/src/libgs7.o": 0.063,
"build/src/libgs8.o": 0.063,
"build/src/libgte1.o": 0.066,
"build/src/libgte10.o": 0.079,
"build/src/libgte11.o": 0.063,
"build/src/libgte12.o": 0.07,
"build/src/libgte13.o": 0.072,
"build/src/libgte14.o": 0.067,
"build/src/libgte15.o": 0.066,
"build/src/libgte16.o": 0.069,
"build/src/libgte17.o": 0.067,
"build/src/libgte18.o": 0.066,
"build/src/libgte19.o": 0.064,
"build/src/libgte2.o": 0.068,
"build/src/libgte20.o": 0.063,
"build/src/libgte21.o": 0.069,
"build/src/libgte22.o": 0.08,
"build/src/libgte23.o": 0.064,
"build/src/libgte24.o": 0.064,
"build/src/libgte25.o": 0.086,
"build/src/libgte26.o": 0.067,
"build/src/libgte27.o": 0.068,
"build/src/libgte28.o": 0.077,
"build/src/libgte29.o": 0.078,
"build/src/libgte3.o": 0.079,
"build/src/libgte30.o": 0.068,
"build/src/libgte4.o": 0.076,
"build/src/libgte5.o": 0.071,
"build/src/libgte6.o": 0.074,
"build/src/libgte7.o": 0.082,
"build/src/libgte8.o": 0.07,
"build/src/libgte9.o": 0.104,
"build/src/libmcrd1.o": 0.086,
"build/src/libmcrd2.o": 0.072,
"build/src/libpad1.o": 0.084,
"build/src/libpad2.o": 0.087,
"build/src/sgap.o": 0.075,
"build/src/sgap_2.o": 0.082,
"build/src/sgap_3.o": 0.091,
"build/src/sgap_4.o": 0.079,
"build/src/sgap_5.o": 0.076,
"build/src/sgap_6.o": 0.079,
"build/src/sgap_8.o": 0.08,
"build/src/snd1.o": 0.083,
"build/src/snd10.o": 0.069,
"build/src/snd11.o": 0.072,
"build/src/snd12.o": 0.067,
"build/src/snd2.o": 0.071,
"build/src/snd3.o": 0.068,
"build/src/snd4.o": 0.068,
"build/src/snd5.o": 0.066,
"build/src/snd6.o": 0.074,
"build/src/snd7.o": 0.068,
"build/src/snd8.o": 0.068,
"build/src/snd9.o": 0.081,
"build/src/md_SC07_004/md_SC07_004.o": 0.56,
"build/src/ov_SC03_015/ov_SC03_015.o": 0.145,
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.541,
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.425,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.076,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.08,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.151,
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.175,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.138,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.102,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.086,
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.202,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.097,
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.189,
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.112,
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.091,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.092,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.114,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.476,
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.267,
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.122,
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.223,
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.076,
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.118,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.081,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.181,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.199,
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.069,
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.289,
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.061,
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.075,
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.07,
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.082,
"build/src/ov_SC04_011/ov_SC04_011.o": 0.143,
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.451,
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.369,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.065,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.065,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.139,
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.175,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.129,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.094,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.079,
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.196,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.083,
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.192,
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.109,
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.081,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.087,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.112,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.364,
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.235,
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.116,
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.174,
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.07,
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.099,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.079,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.109,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.446,
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.052,
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.065
},
"ok": true,
"seconds": 2.7
"seconds": 2.1
}
File diff suppressed because one or more lines are too long
+389 -114
View File
@@ -1,9 +1,9 @@
{
"summary": {
"head": "28ba667744",
"src_stamp": "27f4cca882e2a91c",
"head": "112ef8d20a",
"src_stamp": "7ee42b658c361b37",
"tool_stamp": "e17c5fa676",
"when": "2026-10-01T22:16:34Z",
"when": "2026-10-01T22:26:17Z",
"files": 7306,
"tus": 4121,
"headers": 3181,
@@ -36,50 +36,50 @@
},
"casts": {
"by_form": {
"P": 339480,
"P": 339455,
"I": 55591,
"X": 13792,
"A": 18890,
"C": 96563,
"M": 19487,
"K": 10167
"K": 10192
},
"raw_counts": {
"P": 339480,
"P": 339455,
"I": 55591,
"X": 13792,
"A": 18890,
"C": 96563,
"M": 19487,
"K": 10167
"K": 10192
},
"coverage_ok": true,
"refused": 0,
"deref_total": 428350,
"deref_total": 428325,
"addr_form": 18890,
"typed_cast_member": 96563,
"bodies": 61049,
"by_bclass": {
"local": 140587,
"local": 140565,
"param": 220879,
"global": 8807,
"gaddr": 40114,
"nested": 14752,
"ident": 161,
"other": 1712,
"other": 1709,
"addr-of": 1338
},
"by_width": {
"s4": 119557,
"s4": 119539,
"s2": 116373,
"u2": 114069,
"u2": 114066,
"u1": 40332,
"agg": 13421,
"p4": 11361,
"u4": 10251,
"u4": 10247,
"s1": 2986
},
"readability_raw_regex": 342317,
"readability_raw_regex": 342292,
"abs_casts": 0,
"top_bases": [
[
@@ -170,7 +170,7 @@
[
"local",
"param_1",
2638
2622
],
[
"local",
@@ -284,14 +284,14 @@
]
],
"macros": {
"CAST_NONSTRUCT": 188,
"CAST_NONSTRUCT": 191,
"CAST_WIDTH": 3966,
"CAST_SIGN": 5238,
"CAST_ALIAS": 555,
"CAST_MISALIGNED": 208
"CAST_MISALIGNED": 230
},
"check_raw": {
"P": 339475,
"P": 339450,
"I": 55591,
"X": 13792,
"M": 19486
@@ -31273,6 +31273,61 @@
"bclass": "local",
"off": 4
},
{
"tu": "src/ov_SC03_010/ov_SC03_010_jr_8016AB6C.c",
"fn": "func_8016C49C",
"line": 2709,
"pos": 97633,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 26
},
{
"tu": "src/ov_SC03_010/ov_SC03_010_jr_8016AB6C.c",
"fn": "func_8016C49C",
"line": 2711,
"pos": 97723,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 22
},
{
"tu": "src/ov_SC03_010/ov_SC03_010_jr_8016AB6C.c",
"fn": "func_8016C49C",
"line": 2766,
"pos": 99903,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 14
},
{
"tu": "src/ov_SC03_010/ov_SC03_010_jr_8016AB6C.c",
"fn": "func_8016C49C",
"line": 2768,
"pos": 99991,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 22
},
{
"tu": "src/ov_SC03_011/ov_SC03_011_jr_80140608.c",
"fn": "func_8014477C",
"line": 2330,
"pos": 73669,
"name": "CAST_NONSTRUCT",
"cls": "NON-STRUCT",
"base": null,
"bclass": "other",
"off": 8
},
{
"tu": "src/ov_SC03_011/ov_SC03_011_jr_8015C32C.c",
"fn": "func_8015D1B8",
@@ -31328,6 +31383,50 @@
"bclass": "local",
"off": 4
},
{
"tu": "src/ov_SC03_011/ov_SC03_011_jr_8016AB6C.c",
"fn": "func_8016C49C",
"line": 2709,
"pos": 97633,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 26
},
{
"tu": "src/ov_SC03_011/ov_SC03_011_jr_8016AB6C.c",
"fn": "func_8016C49C",
"line": 2711,
"pos": 97723,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 22
},
{
"tu": "src/ov_SC03_011/ov_SC03_011_jr_8016AB6C.c",
"fn": "func_8016C49C",
"line": 2766,
"pos": 99903,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 14
},
{
"tu": "src/ov_SC03_011/ov_SC03_011_jr_8016AB6C.c",
"fn": "func_8016C49C",
"line": 2768,
"pos": 99991,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 22
},
{
"tu": "src/ov_SC03_011/ov_SC03_011_jr_8017C730.c",
"fn": "func_8017E65C",
@@ -31570,6 +31669,17 @@
"bclass": "param",
"off": 2
},
{
"tu": "src/ov_SC03_012/ov_SC03_012_jr_80140608.c",
"fn": "func_8014477C",
"line": 2292,
"pos": 72106,
"name": "CAST_NONSTRUCT",
"cls": "NON-STRUCT",
"base": null,
"bclass": "other",
"off": 8
},
{
"tu": "src/ov_SC03_012/ov_SC03_012_jr_8015C32C.c",
"fn": "func_8015D1B8",
@@ -31625,6 +31735,61 @@
"bclass": "local",
"off": 4
},
{
"tu": "src/ov_SC03_012/ov_SC03_012_jr_8016AB6C.c",
"fn": "func_8016C49C",
"line": 2709,
"pos": 97633,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 26
},
{
"tu": "src/ov_SC03_012/ov_SC03_012_jr_8016AB6C.c",
"fn": "func_8016C49C",
"line": 2711,
"pos": 97723,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 22
},
{
"tu": "src/ov_SC03_012/ov_SC03_012_jr_8016AB6C.c",
"fn": "func_8016C49C",
"line": 2766,
"pos": 99903,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 14
},
{
"tu": "src/ov_SC03_012/ov_SC03_012_jr_8016AB6C.c",
"fn": "func_8016C49C",
"line": 2768,
"pos": 99991,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 22
},
{
"tu": "src/ov_SC03_013/ov_SC03_013_jr_80140608.c",
"fn": "func_8014477C",
"line": 2292,
"pos": 72106,
"name": "CAST_NONSTRUCT",
"cls": "NON-STRUCT",
"base": null,
"bclass": "other",
"off": 8
},
{
"tu": "src/ov_SC03_013/ov_SC03_013_jr_8015C32C.c",
"fn": "func_8015D1B8",
@@ -31680,6 +31845,116 @@
"bclass": "local",
"off": 4
},
{
"tu": "src/ov_SC03_013/ov_SC03_013_jr_8016AB6C.c",
"fn": "func_8016C49C",
"line": 2709,
"pos": 97633,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 26
},
{
"tu": "src/ov_SC03_013/ov_SC03_013_jr_8016AB6C.c",
"fn": "func_8016C49C",
"line": 2711,
"pos": 97723,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 22
},
{
"tu": "src/ov_SC03_013/ov_SC03_013_jr_8016AB6C.c",
"fn": "func_8016C49C",
"line": 2766,
"pos": 99903,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 14
},
{
"tu": "src/ov_SC03_013/ov_SC03_013_jr_8016AB6C.c",
"fn": "func_8016C49C",
"line": 2768,
"pos": 99991,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 22
},
{
"tu": "src/ov_SC03_013/ov_SC03_013_jr_8017FAA8.c",
"fn": "func_8017FAA8",
"line": 2874,
"pos": 104174,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "ptr",
"bclass": "local",
"off": 6
},
{
"tu": "src/ov_SC03_013/ov_SC03_013_jr_8017FAA8.c",
"fn": "func_8017FAA8",
"line": 2876,
"pos": 104309,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "ptr",
"bclass": "local",
"off": 18
},
{
"tu": "src/ov_SC03_013/ov_SC03_013_jr_8017FAA8.c",
"fn": "func_8017FAA8",
"line": 2876,
"pos": 104345,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "ptr",
"bclass": "local",
"off": 5
},
{
"tu": "src/ov_SC03_013/ov_SC03_013_jr_8017FAA8.c",
"fn": "func_8017FAA8",
"line": 2905,
"pos": 105473,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "ptr",
"bclass": "local",
"off": 6
},
{
"tu": "src/ov_SC03_013/ov_SC03_013_jr_8017FAA8.c",
"fn": "func_8017FAA8",
"line": 2907,
"pos": 105608,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "ptr",
"bclass": "local",
"off": 18
},
{
"tu": "src/ov_SC03_013/ov_SC03_013_jr_8017FAA8.c",
"fn": "func_8017FAA8",
"line": 2907,
"pos": 105644,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "ptr",
"bclass": "local",
"off": 5
},
{
"tu": "src/ov_SC03_014/ov_SC03_014_jr_8015C32C.c",
"fn": "func_8015D1B8",
@@ -113183,61 +113458,61 @@
"cross_callees": 96
},
"struct_map": {
"types": 18626,
"explained_sites": 424307,
"deref_sites": 428350,
"types": 19020,
"explained_sites": 424285,
"deref_sites": 428325,
"explained_pct": 99.1,
"unassigned_sites": 4043,
"conflicts": 859,
"suspect": 11,
"unassigned_sites": 4040,
"conflicts": 862,
"suspect": 10,
"evidence": {
"param": 39816,
"arg": 11359,
"assign": 18654,
"ret-of": 5537,
"assign&": 1278,
"arg&": 252,
"return": 1533,
"field": 8019,
"arg": 11143,
"ret-of": 5488,
"assign": 18640,
"assign&": 1254,
"return": 1532,
"arg&": 250,
"field": 8081,
"nested": 9
},
"vetoed": {
"arg-conduit": 127138,
"arg&-conduit": 14637,
"arg-conduit": 127160,
"assign-multisource": 33177,
"assign&-multisource": 12212,
"arg&-no-overlap": 3026,
"ret-of-multisource": 6578,
"arg-no-overlap": 19916,
"arg-no-overlap": 22636,
"arg&-conduit": 14637,
"arg&-no-overlap": 3025,
"field-multisource": 6164,
"assign&": 314,
"ret-of": 281,
"assign": 292,
"return": 7,
"arg": 247,
"field": 524
"assign&-multisource": 12212,
"ret-of-multisource": 6578,
"ret-of": 607,
"assign": 347,
"assign&": 337,
"arg": 1010,
"return": 9,
"field": 160
},
"singletons": 14657,
"multi_body": 3969,
"sites_in_multi_body": 369293,
"singletons": 15001,
"multi_body": 4019,
"sites_in_multi_body": 366118,
"top": [
{
"name": "Unkstruct_800D3888",
"sites": 112926,
"bodies": 18895,
"sites": 105569,
"bodies": 17473,
"size_hint": 588,
"fields": 231,
"fields": 230,
"conflicts": 50,
"sign_mixed": 81,
"sign_mixed": 76,
"merges": {
"arg&": 220,
"param": 12344,
"arg": 8729,
"return": 738,
"assign": 8672,
"ret-of": 2579,
"assign&": 109,
"field": 2114
"arg&": 219,
"param": 11976,
"arg": 8505,
"assign": 8525,
"return": 728,
"ret-of": 2465,
"assign&": 122,
"field": 1691
},
"globals_at": [
"D_800D3888",
@@ -113333,31 +113608,6 @@
"globals_at": [],
"globals_ptr": []
},
{
"name": "Unkstruct_80126948",
"sites": 3295,
"bodies": 1100,
"size_hint": 164,
"fields": 34,
"conflicts": 1,
"sign_mixed": 10,
"merges": {
"arg&": 2,
"param": 12,
"arg": 16,
"assign": 103,
"assign&": 4
},
"globals_at": [
"D_80126948",
"D_80126E60"
],
"globals_ptr": [
"D_80114EE8",
"D_801151D4",
"D_80126948"
]
},
{
"name": "Unkstruct_57a28935",
"sites": 3271,
@@ -113397,6 +113647,31 @@
"globals_at": [],
"globals_ptr": []
},
{
"name": "Unkstruct_80126948",
"sites": 3034,
"bodies": 848,
"size_hint": 164,
"fields": 34,
"conflicts": 0,
"sign_mixed": 10,
"merges": {
"arg&": 1,
"assign": 103,
"param": 6,
"arg": 14,
"assign&": 4
},
"globals_at": [
"D_80126948",
"D_80126E60"
],
"globals_ptr": [
"D_80114EE8",
"D_801151D4",
"D_80126948"
]
},
{
"name": "Unkstruct_198fc7cc",
"sites": 2580,
@@ -113625,8 +113900,8 @@
"block_frames": 629
},
"global_blocks": {
"n": 2124,
"members": 14255,
"n": 2125,
"members": 14257,
"top": [
{
"base": "0x800cf10c",
@@ -113804,9 +114079,9 @@
"path": ".run/P37/census/parked.tsv"
},
"timing": {
"walk_s": 59.6,
"decls_s": 228.0,
"total_s": 239.6
"walk_s": 51.0,
"decls_s": 219.3,
"total_s": 230.8
}
},
"dup_layout_classes": [
@@ -114987,10 +115262,10 @@
"tier": 3,
"camps": [
[
"SVECTOR"
"RECT"
],
[
"RECT"
"SVECTOR"
],
[
"Vtx_8016B6BC"
@@ -115869,30 +116144,6 @@
"Rec_80180808"
]
},
{
"lhash": "ac91ae2d8aa0",
"size": 28,
"n_names": 3,
"n_defs": 72,
"canon": 3,
"in_c": 59,
"names": [
"G3",
"S800D22E4",
"vec"
],
"tier": 3,
"camps": [
[],
[
"G3"
]
],
"opaque_names": [
"S800D22E4",
"vec"
]
},
{
"lhash": "9568f57fb00f",
"size": 20,
@@ -115943,6 +116194,30 @@
"Blk32_801898F4"
]
},
{
"lhash": "ac91ae2d8aa0",
"size": 28,
"n_names": 3,
"n_defs": 72,
"canon": 3,
"in_c": 59,
"names": [
"G3",
"S800D22E4",
"vec"
],
"tier": 3,
"camps": [
[],
[
"G3"
]
],
"opaque_names": [
"S800D22E4",
"vec"
]
},
{
"lhash": "355775b26f45",
"size": 20,
+11 -11
View File
@@ -1,33 +1,33 @@
type_census — 2026-10-01T22:16:34Z at 28ba667744 (src stamp 27f4cca882e2a91c, tool e17c5fa676); 7306 files (4121 TUs + 3181 headers), 99109 function definitions; walk 59.6 s, total 239.6 s
type_census — 2026-10-01T22:26:17Z at 112ef8d20a (src stamp 7ee42b658c361b37, tool e17c5fa676); 7306 files (4121 TUs + 3181 headers), 99109 function definitions; walk 51.0 s, total 230.8 s
DEFINITIONS 1650 struct/union bodies (+0 enums): canonical header 1021 · .c file-scope 0 · .c block-scope 600 · per-function shared headers 29 · other headers 0 · include/ 326
1024 distinct names · 523 distinct layouts (0 unresolved) · 53 duplicate classes covering 496 names (tier 1 0 same-named, tier 2 53 opaque; 44 layout-twin classes / 472 names kept apart) · 42 exact-text classes / 546 copies · 0 VARIANT names (>1 layout) · 55 dead canonical names · 0 canonical names redefined in .c · 4300 scalar/alias typedefs · 145 forward decls
CAST SITES deref 428350 = P 339480 + I 55591 + X 13792 + M 19487 (+ A address-of 18890; + C typed cast-member 96563) in 61049 bodies · coverage OK (raw {'P': 339480, 'I': 55591, 'X': 13792, 'A': 18890, 'C': 96563, 'M': 19487, 'K': 10167}) · refused 0 · absolute 0 · readability regex over raw text 342317
by base: param 220879 · local 140587 · gaddr 40114 · nested 14752 · global 8807 · other 1712 · addr-of 1338 · ident 161
by width: s4 119557 · s2 116373 · u2 114069 · u1 40332 · agg 13421 · p4 11361 · u4 10251 · s1 2986
CAST SITES deref 428325 = P 339455 + I 55591 + X 13792 + M 19487 (+ A address-of 18890; + C typed cast-member 96563) in 61049 bodies · coverage OK (raw {'P': 339455, 'I': 55591, 'X': 13792, 'A': 18890, 'C': 96563, 'M': 19487, 'K': 10192}) · refused 0 · absolute 0 · readability regex over raw text 342292
by base: param 220879 · local 140565 · gaddr 40114 · nested 14752 · global 8807 · other 1709 · addr-of 1338 · ident 161
by width: s4 119539 · s2 116373 · u2 114066 · u1 40332 · agg 13421 · p4 11361 · u4 10247 · s1 2986
top bases: param_1(param) 68606 · a0(param) 63099 · arg0(param) 57379 · p(local) 16722 · p(param) 9511 · cach(local) 8246 · s0(local) 7832 · buf(local) 7056 · s1(local) 6722 · flag(local) 5453 · iVar2(local) 5096 · dst(local) 4853 · iVar3(local) 4602 · iVar1(local) 4212 · e(local) 3600 · cur(local) 3375
DECLARATIONS 99109 function definitions (1894 K&R) · 4279260 extern function declarations over 12088 names (3773 spelled >1 way) · 6439 names with >1 body text · 1078766 data externs over 55542 symbols (18498 typed >1 way) · asm-label aliases 5148 (159 names) · builtins {'memcpy': 301, 'abs': 1} · attributes {'packed': 26, 'aligned': 6}
lying declarations 229 over 24 callees {'K&R-empty': 216, 'narrow': 13} · K&R sites (marked, counted apart) 5293 over 200 callees · cross-binary (the fleet's definitions disagree, this binary has none) 418 over 96 callees
STRUCT MAP 18626 types explain 424307/428350 deref sites (99.1 %); unassigned 4043; 3969 types span ≥2 bodies (369293 sites), 14657 single-body; types with conflicts 859, suspect 11
merges by evidence {'param': 39816, 'arg': 11359, 'assign': 18654, 'ret-of': 5537, 'assign&': 1278, 'arg&': 252, 'return': 1533, 'field': 8019, 'nested': 9}; vetoed {'arg-conduit': 127138, 'arg&-conduit': 14637, 'assign-multisource': 33177, 'assign&-multisource': 12212, 'arg&-no-overlap': 3026, 'ret-of-multisource': 6578, 'arg-no-overlap': 19916, 'field-multisource': 6164, 'assign&': 314, 'ret-of': 281, 'assign': 292, 'return': 7, 'arg': 247, 'field': 524}
Unkstruct_800D3888 sites 112926 bodies 18895 fields 231 size≥0x24c width-conflicts 50 sign-mixed 81 merges {'param': 12344, 'arg': 8729, 'assign': 8672, 'ret-of': 2579} at D_800D3888,D_80126B58,D_80181E74 ptr D_8006386C,D_80074778,D_80074780
STRUCT MAP 19020 types explain 424285/428325 deref sites (99.1 %); unassigned 4040; 4019 types span ≥2 bodies (366118 sites), 15001 single-body; types with conflicts 862, suspect 10
merges by evidence {'param': 39816, 'arg': 11143, 'ret-of': 5488, 'assign': 18640, 'assign&': 1254, 'return': 1532, 'arg&': 250, 'field': 8081, 'nested': 9}; vetoed {'arg-conduit': 127160, 'assign-multisource': 33177, 'arg-no-overlap': 22636, 'arg&-conduit': 14637, 'arg&-no-overlap': 3025, 'field-multisource': 6164, 'assign&-multisource': 12212, 'ret-of-multisource': 6578, 'ret-of': 607, 'assign': 347, 'assign&': 337, 'arg': 1010, 'return': 9, 'field': 160}
Unkstruct_800D3888 sites 105569 bodies 17473 fields 230 size≥0x24c width-conflicts 50 sign-mixed 76 merges {'param': 11976, 'assign': 8525, 'arg': 8505, 'ret-of': 2465} at D_800D3888,D_80126B58,D_80181E74 ptr D_8006386C,D_80074778,D_80074780
Unkstruct_cb638a45 sites 6477 bodies 381 fields 6 size≥0x10 width-conflicts 0 sign-mixed 0 merges {'param': 10, 'arg': 4}
Unkstruct_dac960ce sites 4464 bodies 124 fields 13 size≥0x24c width-conflicts 0 sign-mixed 2 merges {'param': 2}
Unkstruct_0caecd54 sites 4340 bodies 124 fields 23 size≥0xfe width-conflicts 0 sign-mixed 1 merges {'param': 2, 'assign': 1, 'return': 1}
Unkstruct_f8ed2b9f sites 4061 bodies 4061 fields 1 size≥0x217 width-conflicts 0 sign-mixed 0 merges {'param': 2}
Unkstruct_a32b99a1 sites 3936 bodies 123 fields 8 size≥0x4b width-conflicts 0 sign-mixed 1 merges {}
Unkstruct_8e3dbe51 sites 3930 bodies 131 fields 5 size≥0x4c width-conflicts 0 sign-mixed 1 merges {}
Unkstruct_80126948 sites 3295 bodies 1100 fields 34 size≥0xa4 width-conflicts 1 sign-mixed 10 merges {'assign': 103, 'arg': 16, 'param': 12, 'assign&': 4} at D_80126948,D_80126E60 ptr D_80114EE8,D_801151D4,D_80126948
Unkstruct_57a28935 sites 3271 bodies 196 fields 26 size≥0xa4 width-conflicts 3 sign-mixed 9 merges {'param': 268, 'arg': 133}
Unkstruct_1fa9e810 sites 3144 bodies 131 fields 3 size≥0x49 width-conflicts 0 sign-mixed 0 merges {}
Unkstruct_30b21035 sites 3100 bodies 124 fields 13 size≥0x54 width-conflicts 0 sign-mixed 0 merges {}
Unkstruct_80126948 sites 3034 bodies 848 fields 34 size≥0xa4 width-conflicts 0 sign-mixed 10 merges {'assign': 103, 'arg': 14, 'param': 6, 'assign&': 4} at D_80126948,D_80126E60 ptr D_80114EE8,D_801151D4,D_80126948
Unkstruct_198fc7cc sites 2580 bodies 129 fields 16 size≥0x38 width-conflicts 3 sign-mixed 1 merges {'param': 2}
GLOBAL BLOCKS 2124 runs of ≥4 adjacent scalar D_ symbols (14255 symbols): 0x800cf10c+0x34 ×29 (D_800CF10C..D_800CF13C) · 0x800a6580+0x3a ×27 (D_800A6580..D_800A65B8) · 0x801998a4+0x57 ×24 (D_801998A4..D_801998FA) · 0x80199840+0x56 ×23 (D_80199840..D_80199895) · 0x801a9608+0x50 ×22 (D_801A9608..D_801A9654) · 0x801ab708+0x54 ×21 (D_801AB708..D_801AB758) · 0x801b0df0+0x4b ×21 (D_801B0DF0..D_801B0E3A) · 0x801b83a0+0x4e ×21 (D_801B83A0..D_801B83ED)
GLOBAL BLOCKS 2125 runs of ≥4 adjacent scalar D_ symbols (14257 symbols): 0x800cf10c+0x34 ×29 (D_800CF10C..D_800CF13C) · 0x800a6580+0x3a ×27 (D_800A6580..D_800A65B8) · 0x801998a4+0x57 ×24 (D_801998A4..D_801998FA) · 0x80199840+0x56 ×23 (D_80199840..D_80199895) · 0x801a9608+0x50 ×22 (D_801A9608..D_801A9654) · 0x801ab708+0x54 ×21 (D_801AB708..D_801AB758) · 0x801b0df0+0x4b ×21 (D_801B0DF0..D_801B0E3A) · 0x801b83a0+0x4e ×21 (D_801B83A0..D_801B83ED)
PARKED (P36) 24 classes / 453 bodies / 691 needed sites → .run/P37/census/parked.tsv; needs {'signature': 13, 'struct': 7, '?': 4}; 22 PARK names are minimum-lever banks
CONTROLS 4/4: player_block_widths OK (D_80078E8C:4/4 D_80078EB2:2/2 D_80078EB4:2/2 D_80078EB6:2/2 D_80078EB8:2/2 D_80078F08:4/4 D_80078F0C:4/4) · matrix_layouts OK (MATRIX=32 MATRIX_L48=48) · prim_layout_class OK (defs in 1 files, 1 spellings, 1/1 in one layout (64 B)) · tu_conflict_D_800A651C OK (s32:1202 | u8[]:9 | OtBlk[]:9 | OtBlk_80016450[]:8 | s32[]:7)
duplicate-layout classes (top 12): 4B×56 names (0 defs): B4_80165140, B4_8017F154, B4_8018750C, B4_8018AD9C… | 8B×46 names (0 defs): Blk8S16, Blk8_80126940, Blk8_80180A38, D_80195AF4_t… | 8B×45 names (0 defs): B8, B8_17F474, B8_80165140, B8_801851A8… | 8B×34 names (0 defs): Args_80182194, Blk8017FD54, Blk8_801A6AD0, Blk8_801AD914… | 20B×32 names (0 defs): Blk20_8017D110, Buf8017BF34_8017BF34, Buf8017BF50_8017C234, Loc_80180E10… | 16B×28 names (0 defs): Blk16X, Blk16_8017ECD4, Blk16_8018A4C4, Blk16_8018A8B8… | 6B×25 names (0 defs): D80190448_t, Pt6_8017D65C, ResMapCol, S6… | 32B×25 names (0 defs): Blk20_8016DF5C, Blk20_80180B78, Blk20_80184694, Blk32L_80133298… | 8B×22 names (22 defs): B8014, Blk8_80133CD4, Blk8_801463A0, Blk8_8017FF80… | 12B×19 names (19 defs): Blk12, Prim126, PrimC59C, PrimC974… | 8B×14 names (0 defs): CdFileLoc, Cmd_801805C8, M8_8016B6BC, Pair8_8017DDC4… | 4B×14 names (0 defs): D_801D0660_s, Ent_80186AE4, P4, Pair4_801B02DC…
VARIANT names (top 12):
type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 428350 cast sites in 61049 bodies over 8 base classes (4 forms + A, coverage OK) · 229 lying declarations / 24 callees (+5293 K&R sites, +418 cross-binary apart) · controls 4/4
struct_map: 18626 types over 18626 clusters explain 424307/428350 sites (99.1 %); 4043 unassigned sites; 859 types with conflicts
type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 428325 cast sites in 61049 bodies over 8 base classes (4 forms + A, coverage OK) · 229 lying declarations / 24 callees (+5293 K&R sites, +418 cross-binary apart) · controls 4/4
struct_map: 19020 types over 19020 clusters explain 424285/428325 sites (99.1 %); 4040 unassigned sites; 862 types with conflicts
+4 -4
View File
@@ -2706,9 +2706,9 @@ s32 func_8016C49C(s32 param_1_arg) {
short sVar1;
iVar5 = *(int *)(param_1 + 0x18);
iVar6 = *(int *)(param_1 + 0x1a);
iVar6 = CAST_MISALIGNED(int, param_1, 0x1a);
param_1[0x14] = *(u16 *)(iVar5 + 0x36);
if ((*(u32 *)(param_1 + 0x16) & 0x8000) == 0) {
if ((CAST_MISALIGNED(u32, param_1, 0x16) & 0x8000) == 0) {
short iVar4 = 0;
u16 *psVar3 = (u16 *)&D_8011D030;
do {
@@ -2763,9 +2763,9 @@ s32 func_8016C49C(s32 param_1_arg) {
param_1[0xb] = sv[1];
param_1[0xd] = sv[2];
*(int *)(param_1 + 0x10) = iVar5b;
*(int *)(param_1 + 0xe) = 8;
CAST_MISALIGNED(int, param_1, 0xe) = 8;
func_8016CF04((s32)param_1, 0);
*(int *)(param_1 + 0x16) = 0;
CAST_MISALIGNED(int, param_1, 0x16) = 0;
sVar1 = param_1[1] + 1;
}
do { param_1[1] = sVar1; } while (0);
+1 -1
View File
@@ -2327,7 +2327,7 @@ void func_8014477C(void *param_1) {
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
} else {
+4 -4
View File
@@ -2706,9 +2706,9 @@ s32 func_8016C49C(s32 param_1_arg) {
short sVar1;
iVar5 = *(int *)(param_1 + 0x18);
iVar6 = *(int *)(param_1 + 0x1a);
iVar6 = CAST_MISALIGNED(int, param_1, 0x1a);
param_1[0x14] = *(u16 *)(iVar5 + 0x36);
if ((*(u32 *)(param_1 + 0x16) & 0x8000) == 0) {
if ((CAST_MISALIGNED(u32, param_1, 0x16) & 0x8000) == 0) {
short iVar4 = 0;
u16 *psVar3 = (u16 *)&D_8011D030;
do {
@@ -2763,9 +2763,9 @@ s32 func_8016C49C(s32 param_1_arg) {
param_1[0xb] = sv[1];
param_1[0xd] = sv[2];
*(int *)(param_1 + 0x10) = iVar5b;
*(int *)(param_1 + 0xe) = 8;
CAST_MISALIGNED(int, param_1, 0xe) = 8;
func_8016CF04((s32)param_1, 0);
*(int *)(param_1 + 0x16) = 0;
CAST_MISALIGNED(int, param_1, 0x16) = 0;
sVar1 = param_1[1] + 1;
}
do { param_1[1] = sVar1; } while (0);
+1 -1
View File
@@ -2289,7 +2289,7 @@ void func_8014477C(void *param_1) {
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
} else {
+4 -4
View File
@@ -2706,9 +2706,9 @@ s32 func_8016C49C(s32 param_1_arg) {
short sVar1;
iVar5 = *(int *)(param_1 + 0x18);
iVar6 = *(int *)(param_1 + 0x1a);
iVar6 = CAST_MISALIGNED(int, param_1, 0x1a);
param_1[0x14] = *(u16 *)(iVar5 + 0x36);
if ((*(u32 *)(param_1 + 0x16) & 0x8000) == 0) {
if ((CAST_MISALIGNED(u32, param_1, 0x16) & 0x8000) == 0) {
short iVar4 = 0;
u16 *psVar3 = (u16 *)&D_8011D030;
do {
@@ -2763,9 +2763,9 @@ s32 func_8016C49C(s32 param_1_arg) {
param_1[0xb] = sv[1];
param_1[0xd] = sv[2];
*(int *)(param_1 + 0x10) = iVar5b;
*(int *)(param_1 + 0xe) = 8;
CAST_MISALIGNED(int, param_1, 0xe) = 8;
func_8016CF04((s32)param_1, 0);
*(int *)(param_1 + 0x16) = 0;
CAST_MISALIGNED(int, param_1, 0x16) = 0;
sVar1 = param_1[1] + 1;
}
do { param_1[1] = sVar1; } while (0);
+1 -1
View File
@@ -2289,7 +2289,7 @@ void func_8014477C(void *param_1) {
uVar2 = *(s32 *)(*(s32 *)((s32)param_1 + 0x64) + 0x58);
if (uVar2 != 0) {
addr = uVar2 & 0xFFFFFFF;
gv = *(u16 *)((addr | 0x80000000) + 8);
gv = CAST_NONSTRUCT(u16, (addr | 0x80000000), 8);
fv = *(u16 *)((s32)param_1 + 0xA) - 0x30;
*(u16 *)((s32)param_1 + 0xA) = gv + fv;
} else {
+4 -4
View File
@@ -2706,9 +2706,9 @@ s32 func_8016C49C(s32 param_1_arg) {
short sVar1;
iVar5 = *(int *)(param_1 + 0x18);
iVar6 = *(int *)(param_1 + 0x1a);
iVar6 = CAST_MISALIGNED(int, param_1, 0x1a);
param_1[0x14] = *(u16 *)(iVar5 + 0x36);
if ((*(u32 *)(param_1 + 0x16) & 0x8000) == 0) {
if ((CAST_MISALIGNED(u32, param_1, 0x16) & 0x8000) == 0) {
short iVar4 = 0;
u16 *psVar3 = (u16 *)&D_8011D030;
do {
@@ -2763,9 +2763,9 @@ s32 func_8016C49C(s32 param_1_arg) {
param_1[0xb] = sv[1];
param_1[0xd] = sv[2];
*(int *)(param_1 + 0x10) = iVar5b;
*(int *)(param_1 + 0xe) = 8;
CAST_MISALIGNED(int, param_1, 0xe) = 8;
func_8016CF04((s32)param_1, 0);
*(int *)(param_1 + 0x16) = 0;
CAST_MISALIGNED(int, param_1, 0x16) = 0;
sVar1 = param_1[1] + 1;
}
do { param_1[1] = sVar1; } while (0);
+4 -4
View File
@@ -2871,9 +2871,9 @@ void func_8017FAA8(s32 param_1) {
ptr = (s32 *)func_80143C74(param_1, 0);
if (ptr != 0) {
*(s32 *)(ptr + 4) = (rand() - 0x4000) * 0x10;
*(s32 *)(ptr + 6) = (rand() - 0x4000) * 0x10;
CAST_MISALIGNED(s32, ptr, 6) = (rand() - 0x4000) * 0x10;
*(u16 *)((s32)ptr + 0x16) = -(rand() & 0x1F);
*(s32 *)(ptr + 0x12) = -(*(s32 *)(ptr + 5) >> 4);
CAST_MISALIGNED(s32, ptr, 0x12) = -(CAST_MISALIGNED(s32, ptr, 5) >> 4);
sv.x = p[0x17] - *(s16 *)((s32)ptr + 6);
sv.y = p[0x18] - *(s16 *)((s32)ptr + 0xA);
sv.z = p[0x19] - *(s16 *)((s32)ptr + 0xE);
@@ -2902,9 +2902,9 @@ void func_8017FAA8(s32 param_1) {
ptr = (s32 *)func_80143C74(param_1, 0);
if (ptr != 0) {
*(s32 *)(ptr + 4) = (rand() - 0x4000) * 0x10;
*(s32 *)(ptr + 6) = (rand() - 0x4000) * 0x10;
CAST_MISALIGNED(s32, ptr, 6) = (rand() - 0x4000) * 0x10;
*(u16 *)((s32)ptr + 0x16) = -(rand() & 0x1F);
*(s32 *)(ptr + 0x12) = -(*(s32 *)(ptr + 5) >> 4);
CAST_MISALIGNED(s32, ptr, 0x12) = -(CAST_MISALIGNED(s32, ptr, 5) >> 4);
sv.x = p[0x17] - *(s16 *)((s32)ptr + 6);
sv.y = p[0x18] - *(s16 *)((s32)ptr + 0xA);
sv.z = p[0x19] - *(s16 *)((s32)ptr + 0xE);