T3: batch t3_S12 — restruct: batch t3_S12 rung S — 50 files (TUs; 1601 drawable) · 339 bodies: 0 sites → members / 0 kept / 0 skipped · levers off 0 · compiles 8 in 14 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) · 434355 cast sites in 62085 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 15:41:28 -06:00
parent 2c52cbf636
commit 627c0ca860
12 changed files with 439 additions and 219 deletions
+147 -147
View File
@@ -1,7 +1,7 @@
{
"head": "132fec09c3",
"head": "3d58261a11",
"stamp": "588cbf38c6e4",
"generated": "2026-10-01 15:24",
"generated": "2026-10-01 15:33",
"aliases": [
"main",
"md_SC07_004",
@@ -21,176 +21,176 @@
"main": {
"objects": 85,
"identical": 85,
"seconds": 6.847000000000001,
"mean_s": 0.081
"seconds": 6.553000000000001,
"mean_s": 0.077
},
"md_SC07_004": {
"objects": 1,
"identical": 1,
"seconds": 0.486,
"mean_s": 0.486
"seconds": 0.507,
"mean_s": 0.507
},
"ov_SC03_015": {
"objects": 32,
"identical": 32,
"seconds": 4.9570000000000025,
"mean_s": 0.155
"seconds": 4.715,
"mean_s": 0.147
},
"ov_SC04_011": {
"objects": 28,
"identical": 28,
"seconds": 4.178000000000001,
"mean_s": 0.149
"seconds": 4.05,
"mean_s": 0.145
}
},
"per_object_seconds": {
"build/src/800.o": 0.721,
"build/src/800_b.o": 0.086,
"build/src/800_b_2.o": 0.327,
"build/src/800_b_o0a.o": 0.067,
"build/src/800_c.o": 0.24,
"build/src/800b2.o": 0.078,
"build/src/apicard1.o": 0.064,
"build/src/apicard2.o": 0.084,
"build/src/apicard3.o": 0.062,
"build/src/apicard4.o": 0.072,
"build/src/apicard5.o": 0.065,
"build/src/apicard6.o": 0.06,
"build/src/apicard7.o": 0.089,
"build/src/boot.o": 0.108,
"build/src/gap.o": 0.091,
"build/src/libapi1.o": 0.066,
"build/src/libapi2.o": 0.059,
"build/src/libc2_1.o": 0.067,
"build/src/libc2_2.o": 0.058,
"build/src/libcd1.o": 0.072,
"build/src/libcd2.o": 0.07,
"build/src/libetc.o": 0.061,
"build/src/libgpu.o": 0.065,
"build/src/libgpu2.o": 0.067,
"build/src/libgs1.o": 0.058,
"build/src/800.o": 0.711,
"build/src/800_b.o": 0.09,
"build/src/800_b_2.o": 0.289,
"build/src/800_b_o0a.o": 0.061,
"build/src/800_c.o": 0.197,
"build/src/800b2.o": 0.068,
"build/src/apicard1.o": 0.072,
"build/src/apicard2.o": 0.067,
"build/src/apicard3.o": 0.074,
"build/src/apicard4.o": 0.084,
"build/src/apicard5.o": 0.073,
"build/src/apicard6.o": 0.076,
"build/src/apicard7.o": 0.077,
"build/src/boot.o": 0.083,
"build/src/gap.o": 0.056,
"build/src/libapi1.o": 0.083,
"build/src/libapi2.o": 0.051,
"build/src/libc2_1.o": 0.059,
"build/src/libc2_2.o": 0.057,
"build/src/libcd1.o": 0.068,
"build/src/libcd2.o": 0.059,
"build/src/libetc.o": 0.063,
"build/src/libgpu.o": 0.068,
"build/src/libgpu2.o": 0.066,
"build/src/libgs1.o": 0.057,
"build/src/libgs2.o": 0.058,
"build/src/libgs3.o": 0.062,
"build/src/libgs4.o": 0.057,
"build/src/libgs5.o": 0.063,
"build/src/libgs6.o": 0.077,
"build/src/libgs7.o": 0.061,
"build/src/libgs8.o": 0.068,
"build/src/libgte1.o": 0.06,
"build/src/libgte10.o": 0.063,
"build/src/libgs3.o": 0.065,
"build/src/libgs4.o": 0.06,
"build/src/libgs5.o": 0.061,
"build/src/libgs6.o": 0.08,
"build/src/libgs7.o": 0.062,
"build/src/libgs8.o": 0.054,
"build/src/libgte1.o": 0.055,
"build/src/libgte10.o": 0.058,
"build/src/libgte11.o": 0.057,
"build/src/libgte12.o": 0.058,
"build/src/libgte13.o": 0.062,
"build/src/libgte14.o": 0.063,
"build/src/libgte15.o": 0.062,
"build/src/libgte16.o": 0.064,
"build/src/libgte17.o": 0.055,
"build/src/libgte18.o": 0.064,
"build/src/libgte19.o": 0.059,
"build/src/libgte2.o": 0.062,
"build/src/libgte20.o": 0.063,
"build/src/libgte21.o": 0.064,
"build/src/libgte22.o": 0.077,
"build/src/libgte23.o": 0.061,
"build/src/libgte24.o": 0.061,
"build/src/libgte25.o": 0.065,
"build/src/libgte26.o": 0.064,
"build/src/libgte27.o": 0.066,
"build/src/libgte28.o": 0.065,
"build/src/libgte29.o": 0.062,
"build/src/libgte3.o": 0.062,
"build/src/libgte30.o": 0.065,
"build/src/libgte4.o": 0.062,
"build/src/libgte5.o": 0.06,
"build/src/libgte6.o": 0.069,
"build/src/libgte7.o": 0.068,
"build/src/libgte8.o": 0.076,
"build/src/libgte9.o": 0.063,
"build/src/libmcrd1.o": 0.086,
"build/src/libmcrd2.o": 0.067,
"build/src/libpad1.o": 0.072,
"build/src/libpad2.o": 0.082,
"build/src/sgap.o": 0.068,
"build/src/sgap_2.o": 0.066,
"build/src/sgap_3.o": 0.059,
"build/src/sgap_4.o": 0.074,
"build/src/sgap_5.o": 0.062,
"build/src/libgte12.o": 0.063,
"build/src/libgte13.o": 0.07,
"build/src/libgte14.o": 0.052,
"build/src/libgte15.o": 0.058,
"build/src/libgte16.o": 0.054,
"build/src/libgte17.o": 0.06,
"build/src/libgte18.o": 0.072,
"build/src/libgte19.o": 0.063,
"build/src/libgte2.o": 0.056,
"build/src/libgte20.o": 0.057,
"build/src/libgte21.o": 0.061,
"build/src/libgte22.o": 0.061,
"build/src/libgte23.o": 0.051,
"build/src/libgte24.o": 0.088,
"build/src/libgte25.o": 0.059,
"build/src/libgte26.o": 0.068,
"build/src/libgte27.o": 0.056,
"build/src/libgte28.o": 0.069,
"build/src/libgte29.o": 0.059,
"build/src/libgte3.o": 0.063,
"build/src/libgte30.o": 0.059,
"build/src/libgte4.o": 0.063,
"build/src/libgte5.o": 0.058,
"build/src/libgte6.o": 0.057,
"build/src/libgte7.o": 0.062,
"build/src/libgte8.o": 0.082,
"build/src/libgte9.o": 0.059,
"build/src/libmcrd1.o": 0.064,
"build/src/libmcrd2.o": 0.062,
"build/src/libpad1.o": 0.068,
"build/src/libpad2.o": 0.062,
"build/src/sgap.o": 0.065,
"build/src/sgap_2.o": 0.06,
"build/src/sgap_3.o": 0.061,
"build/src/sgap_4.o": 0.07,
"build/src/sgap_5.o": 0.067,
"build/src/sgap_6.o": 0.065,
"build/src/sgap_8.o": 0.075,
"build/src/snd1.o": 0.074,
"build/src/snd10.o": 0.067,
"build/src/sgap_8.o": 0.072,
"build/src/snd1.o": 0.072,
"build/src/snd10.o": 0.065,
"build/src/snd11.o": 0.068,
"build/src/snd12.o": 0.067,
"build/src/snd2.o": 0.078,
"build/src/snd3.o": 0.073,
"build/src/snd12.o": 0.068,
"build/src/snd2.o": 0.073,
"build/src/snd3.o": 0.068,
"build/src/snd4.o": 0.069,
"build/src/snd5.o": 0.066,
"build/src/snd6.o": 0.082,
"build/src/snd7.o": 0.069,
"build/src/snd8.o": 0.067,
"build/src/snd9.o": 0.086,
"build/src/md_SC07_004/md_SC07_004.o": 0.486,
"build/src/ov_SC03_015/ov_SC03_015.o": 0.146,
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.526,
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.406,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.073,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.075,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.136,
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.173,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.135,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.094,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.081,
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.177,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.092,
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.185,
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.095,
"build/src/snd6.o": 0.072,
"build/src/snd7.o": 0.063,
"build/src/snd8.o": 0.084,
"build/src/snd9.o": 0.07,
"build/src/md_SC07_004/md_SC07_004.o": 0.507,
"build/src/ov_SC03_015/ov_SC03_015.o": 0.14,
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.512,
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.405,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.066,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.073,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.131,
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.158,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.126,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.085,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.079,
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.19,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.084,
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.178,
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.104,
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.076,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.079,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.104,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.072,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.095,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.451,
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.281,
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.113,
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.205,
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.069,
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.114,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.082,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.174,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.203,
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.065,
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.287,
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.254,
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.107,
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.17,
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.064,
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.104,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.066,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.154,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.193,
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.063,
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.267,
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.048,
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.067,
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.067,
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.078,
"build/src/ov_SC04_011/ov_SC04_011.o": 0.131,
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.436,
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.367,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.062,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.058,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.13,
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.165,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.124,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.081,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.074,
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.189,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.078,
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.173,
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.104,
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.075,
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.069,
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.065,
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.066,
"build/src/ov_SC04_011/ov_SC04_011.o": 0.128,
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.422,
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.346,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.057,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.063,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.132,
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.164,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.116,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.089,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.07,
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.188,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.072,
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.174,
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.094,
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.068,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.08,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.101,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.359,
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.214,
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.106,
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.175,
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.066,
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.1,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.068,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.113,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.442,
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.048,
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.059
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.083,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.352,
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.218,
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.104,
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.166,
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.069,
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.09,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.066,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.102,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.42,
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.05,
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.067
},
"ok": true,
"seconds": 2.1
"seconds": 2.0
}
File diff suppressed because one or more lines are too long
+262 -42
View File
@@ -1,9 +1,9 @@
{
"summary": {
"head": "132fec09c3",
"src_stamp": "a7258a7c8bb3ac17",
"head": "3d58261a11",
"src_stamp": "16e5d63e2d3abfe3",
"tool_stamp": "e17c5fa676",
"when": "2026-10-01T21:30:28Z",
"when": "2026-10-01T21:38:48Z",
"files": 7306,
"tus": 4121,
"headers": 3181,
@@ -36,50 +36,50 @@
},
"casts": {
"by_form": {
"P": 344517,
"P": 344497,
"I": 56575,
"X": 13792,
"A": 18890,
"C": 91453,
"M": 19491,
"K": 9278
"K": 9298
},
"raw_counts": {
"P": 344517,
"P": 344497,
"I": 56575,
"X": 13792,
"A": 18890,
"C": 91453,
"M": 19491,
"K": 9278
"K": 9298
},
"coverage_ok": true,
"refused": 0,
"deref_total": 434375,
"deref_total": 434355,
"addr_form": 18890,
"typed_cast_member": 91453,
"bodies": 62085,
"by_bclass": {
"local": 141301,
"local": 141285,
"param": 225579,
"global": 8812,
"gaddr": 40115,
"nested": 15357,
"ident": 161,
"other": 1712,
"other": 1708,
"addr-of": 1338
},
"by_width": {
"s4": 121927,
"s4": 121915,
"s2": 117074,
"u2": 116531,
"u2": 116527,
"u1": 40664,
"agg": 13421,
"p4": 11381,
"u4": 10339,
"u4": 10335,
"s1": 3038
},
"readability_raw_regex": 347354,
"readability_raw_regex": 347334,
"abs_casts": 0,
"top_bases": [
[
@@ -170,7 +170,7 @@
[
"local",
"param_1",
2706
2690
],
[
"local",
@@ -284,14 +284,14 @@
]
],
"macros": {
"CAST_NONSTRUCT": 167,
"CAST_NONSTRUCT": 171,
"CAST_WIDTH": 3484,
"CAST_SIGN": 4923,
"CAST_ALIAS": 528,
"CAST_MISALIGNED": 164
"CAST_MISALIGNED": 180
},
"check_raw": {
"P": 344512,
"P": 344492,
"I": 56575,
"X": 13792,
"M": 19490
@@ -19030,6 +19030,50 @@
"bclass": "local",
"off": 4
},
{
"tu": "src/ov_SC02_028/ov_SC02_028_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_SC02_028/ov_SC02_028_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_SC02_028/ov_SC02_028_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_SC02_028/ov_SC02_028_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_SC02_028/ov_SC02_028_jr_8017D898.c",
"fn": "func_80180214",
@@ -20856,6 +20900,17 @@
"bclass": "param",
"off": 220
},
{
"tu": "src/ov_SC02_031/ov_SC02_031_jr_80140608.c",
"fn": "func_8014477C",
"line": 2295,
"pos": 72226,
"name": "CAST_NONSTRUCT",
"cls": "NON-STRUCT",
"base": null,
"bclass": "other",
"off": 8
},
{
"tu": "src/ov_SC02_031/ov_SC02_031_jr_8015C32C.c",
"fn": "func_8015D1B8",
@@ -20911,6 +20966,50 @@
"bclass": "local",
"off": 4
},
{
"tu": "src/ov_SC02_031/ov_SC02_031_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_SC02_031/ov_SC02_031_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_SC02_031/ov_SC02_031_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_SC02_031/ov_SC02_031_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_SC02_031/ov_SC02_031_jr_8017AE2C.c",
"fn": "func_8017C2B0",
@@ -21835,6 +21934,17 @@
"bclass": "param",
"off": 220
},
{
"tu": "src/ov_SC02_035/ov_SC02_035_jr_80140608.c",
"fn": "func_8014477C",
"line": 2295,
"pos": 72226,
"name": "CAST_NONSTRUCT",
"cls": "NON-STRUCT",
"base": null,
"bclass": "other",
"off": 8
},
{
"tu": "src/ov_SC02_035/ov_SC02_035_jr_8015C32C.c",
"fn": "func_8015D1B8",
@@ -21890,6 +22000,50 @@
"bclass": "local",
"off": 4
},
{
"tu": "src/ov_SC02_035/ov_SC02_035_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_SC02_035/ov_SC02_035_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_SC02_035/ov_SC02_035_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_SC02_035/ov_SC02_035_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_SC02_035/ov_SC02_035_jr_8017BEBC.c",
"fn": "func_8017D3F4",
@@ -23232,6 +23386,17 @@
"bclass": "param",
"off": 4
},
{
"tu": "src/ov_SC02_037/ov_SC02_037_jr_8013F350.c",
"fn": "func_8014477C",
"line": 3050,
"pos": 94390,
"name": "CAST_NONSTRUCT",
"cls": "NON-STRUCT",
"base": null,
"bclass": "other",
"off": 8
},
{
"tu": "src/ov_SC02_037/ov_SC02_037_jr_8015A3C8.c",
"fn": "func_8015B858",
@@ -23320,6 +23485,50 @@
"bclass": "local",
"off": 4
},
{
"tu": "src/ov_SC02_037/ov_SC02_037_jr_8016AE5C.c",
"fn": "func_8016C49C",
"line": 3548,
"pos": 128772,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 26
},
{
"tu": "src/ov_SC02_037/ov_SC02_037_jr_8016AE5C.c",
"fn": "func_8016C49C",
"line": 3550,
"pos": 128862,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 22
},
{
"tu": "src/ov_SC02_037/ov_SC02_037_jr_8016AE5C.c",
"fn": "func_8016C49C",
"line": 3605,
"pos": 131042,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 14
},
{
"tu": "src/ov_SC02_037/ov_SC02_037_jr_8016AE5C.c",
"fn": "func_8016C49C",
"line": 3607,
"pos": 131130,
"name": "CAST_MISALIGNED",
"cls": "MISALIGNED",
"base": "param_1",
"bclass": "local",
"off": 22
},
{
"tu": "src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.c",
"fn": "func_8017BFEC",
@@ -24255,6 +24464,17 @@
"bclass": "param",
"off": 204
},
{
"tu": "src/ov_SC02_039/ov_SC02_039_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_SC02_039/ov_SC02_039_jr_8015C32C.c",
"fn": "func_8015D1B8",
@@ -103404,48 +103624,48 @@
"cross_callees": 96
},
"struct_map": {
"types": 18998,
"explained_sites": 430322,
"deref_sites": 434375,
"types": 18981,
"explained_sites": 430306,
"deref_sites": 434355,
"explained_pct": 99.1,
"unassigned_sites": 4053,
"conflicts": 861,
"unassigned_sites": 4049,
"conflicts": 865,
"suspect": 10,
"evidence": {
"param": 39810,
"arg": 11239,
"ret-of": 5358,
"assign": 18590,
"assign&": 1251,
"ret-of": 5354,
"assign": 18576,
"return": 1535,
"return": 1534,
"arg&": 255,
"field": 8023,
"nested": 9
},
"vetoed": {
"arg-conduit": 126195,
"assign-multisource": 33173,
"ret-of-multisource": 6568,
"arg-conduit": 126179,
"assign&-multisource": 12212,
"arg-no-overlap": 23099,
"arg&-conduit": 14637,
"arg-no-overlap": 23064,
"arg&-no-overlap": 3223,
"field-multisource": 6200,
"ret-of": 679,
"assign": 334,
"assign&-multisource": 12212,
"ret-of-multisource": 6568,
"ret-of": 512,
"assign": 318,
"return": 7,
"assign&": 337,
"arg": 234,
"return": 6,
"arg": 231,
"field": 1140
},
"singletons": 14953,
"multi_body": 4045,
"sites_in_multi_body": 373763,
"singletons": 14943,
"multi_body": 4038,
"sites_in_multi_body": 373863,
"top": [
{
"name": "Unkstruct_800D3888",
"sites": 114934,
"bodies": 18674,
"sites": 114938,
"bodies": 18678,
"size_hint": 588,
"fields": 231,
"conflicts": 50,
@@ -104025,9 +104245,9 @@
"path": ".run/P37/census/parked.tsv"
},
"timing": {
"walk_s": 41.3,
"decls_s": 198.7,
"total_s": 208.7
"walk_s": 41.9,
"decls_s": 189.8,
"total_s": 199.3
}
},
"dup_layout_classes": [
+9 -9
View File
@@ -1,16 +1,16 @@
type_census — 2026-10-01T21:30:28Z at 132fec09c3 (src stamp a7258a7c8bb3ac17, tool e17c5fa676); 7306 files (4121 TUs + 3181 headers), 99109 function definitions; walk 41.3 s, total 208.7 s
type_census — 2026-10-01T21:38:48Z at 3d58261a11 (src stamp 16e5d63e2d3abfe3, tool e17c5fa676); 7306 files (4121 TUs + 3181 headers), 99109 function definitions; walk 41.9 s, total 199.3 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 434375 = P 344517 + I 56575 + X 13792 + M 19491 (+ A address-of 18890; + C typed cast-member 91453) in 62085 bodies · coverage OK (raw {'P': 344517, 'I': 56575, 'X': 13792, 'A': 18890, 'C': 91453, 'M': 19491, 'K': 9278}) · refused 0 · absolute 0 · readability regex over raw text 347354
by base: param 225579 · local 141301 · gaddr 40115 · nested 15357 · global 8812 · other 1712 · addr-of 1338 · ident 161
by width: s4 121927 · s2 117074 · u2 116531 · u1 40664 · agg 13421 · p4 11381 · u4 10339 · s1 3038
CAST SITES deref 434355 = P 344497 + I 56575 + X 13792 + M 19491 (+ A address-of 18890; + C typed cast-member 91453) in 62085 bodies · coverage OK (raw {'P': 344497, 'I': 56575, 'X': 13792, 'A': 18890, 'C': 91453, 'M': 19491, 'K': 9298}) · refused 0 · absolute 0 · readability regex over raw text 347334
by base: param 225579 · local 141285 · gaddr 40115 · nested 15357 · global 8812 · other 1708 · addr-of 1338 · ident 161
by width: s4 121915 · s2 117074 · u2 116527 · u1 40664 · agg 13421 · p4 11381 · u4 10335 · s1 3038
top bases: param_1(param) 70019 · a0(param) 64606 · arg0(param) 58818 · p(local) 16845 · p(param) 9836 · cach(local) 8246 · s0(local) 8027 · buf(local) 7056 · s1(local) 6727 · flag(local) 5453 · iVar2(local) 5109 · dst(local) 4853 · iVar3(local) 4602 · iVar1(local) 4291 · e(local) 3603 · cur(local) 3375
DECLARATIONS 99109 function definitions (1894 K&R) · 4279260 extern function declarations over 12088 names (3773 spelled >1 way) · 6433 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 18998 types explain 430322/434375 deref sites (99.1 %); unassigned 4053; 4045 types span ≥2 bodies (373763 sites), 14953 single-body; types with conflicts 861, suspect 10
merges by evidence {'param': 39810, 'arg': 11239, 'assign&': 1251, 'ret-of': 5354, 'assign': 18576, 'return': 1535, 'arg&': 255, 'field': 8023, 'nested': 9}; vetoed {'assign-multisource': 33173, 'ret-of-multisource': 6568, 'arg-conduit': 126179, 'assign&-multisource': 12212, 'arg&-conduit': 14637, 'arg-no-overlap': 23064, 'arg&-no-overlap': 3223, 'field-multisource': 6200, 'ret-of': 679, 'assign': 334, 'assign&': 337, 'arg': 234, 'return': 6, 'field': 1140}
Unkstruct_800D3888 sites 114934 bodies 18674 fields 231 size≥0x24c width-conflicts 50 sign-mixed 81 merges {'param': 12176, 'arg': 8613, 'assign': 8597, 'ret-of': 2341} at D_800D3888,D_80126B58,D_80181E74 ptr D_8006386C,D_80074778,D_80074780
STRUCT MAP 18981 types explain 430306/434355 deref sites (99.1 %); unassigned 4049; 4038 types span ≥2 bodies (373863 sites), 14943 single-body; types with conflicts 865, suspect 10
merges by evidence {'param': 39810, 'arg': 11239, 'ret-of': 5358, 'assign': 18590, 'assign&': 1251, 'return': 1534, 'arg&': 255, 'field': 8023, 'nested': 9}; vetoed {'arg-conduit': 126195, 'assign-multisource': 33173, 'arg-no-overlap': 23099, 'arg&-conduit': 14637, 'arg&-no-overlap': 3223, 'field-multisource': 6200, 'assign&-multisource': 12212, 'ret-of-multisource': 6568, 'ret-of': 512, 'assign': 318, 'return': 7, 'assign&': 337, 'arg': 231, 'field': 1140}
Unkstruct_800D3888 sites 114938 bodies 18678 fields 231 size≥0x24c width-conflicts 50 sign-mixed 81 merges {'param': 12176, 'arg': 8613, 'assign': 8597, 'ret-of': 2341} 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}
@@ -29,5 +29,5 @@ CONTROLS 4/4: player_block_widths OK (D_80078E8C:4/4 D_80078EB2:2/2 D_80078E
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) · 434375 cast sites in 62085 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: 18998 types over 18998 clusters explain 430322/434375 sites (99.1 %); 4053 unassigned sites; 861 types with conflicts
type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 434355 cast sites in 62085 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: 18981 types over 18981 clusters explain 430306/434355 sites (99.1 %); 4049 unassigned sites; 865 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
@@ -2292,7 +2292,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
@@ -2292,7 +2292,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
@@ -3047,7 +3047,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
@@ -3545,9 +3545,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 {
@@ -3602,9 +3602,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 {