T3: batch t3_S17 — restruct: batch t3_S17 rung S — 50 files (TUs; 1365 drawable) · 389 bodies: 0 sites → members / 0 kept / 0 skipped · levers off 0 · compiles 9 in 22 s wall · final 50/50 identical · written 7 files | R22 check-all: 218 passed, 0 failed of 218 | type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 428309 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:38:29 -06:00
parent 6535f42559
commit 7185d18697
11 changed files with 403 additions and 227 deletions
+147 -147
View File
@@ -1,7 +1,7 @@
{
"head": "112ef8d20a",
"head": "1419d7c159",
"stamp": "588cbf38c6e4",
"generated": "2026-10-01 16:19",
"generated": "2026-10-01 16:29",
"aliases": [
"main",
"md_SC07_004",
@@ -21,175 +21,175 @@
"main": {
"objects": 85,
"identical": 85,
"seconds": 7.445999999999998,
"seconds": 7.449000000000002,
"mean_s": 0.088
},
"md_SC07_004": {
"objects": 1,
"identical": 1,
"seconds": 0.56,
"mean_s": 0.56
"seconds": 0.516,
"mean_s": 0.516
},
"ov_SC03_015": {
"objects": 32,
"identical": 32,
"seconds": 5.205000000000001,
"mean_s": 0.163
"seconds": 5.168000000000001,
"mean_s": 0.162
},
"ov_SC04_011": {
"objects": 28,
"identical": 28,
"seconds": 4.378,
"mean_s": 0.156
"seconds": 4.282,
"mean_s": 0.153
}
},
"per_object_seconds": {
"build/src/800.o": 0.77,
"build/src/800.o": 0.782,
"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/800_b_2.o": 0.322,
"build/src/800_b_o0a.o": 0.07,
"build/src/800_c.o": 0.211,
"build/src/800b2.o": 0.083,
"build/src/apicard1.o": 0.066,
"build/src/apicard2.o": 0.099,
"build/src/apicard3.o": 0.081,
"build/src/apicard4.o": 0.092,
"build/src/apicard5.o": 0.077,
"build/src/apicard6.o": 0.106,
"build/src/apicard7.o": 0.091,
"build/src/boot.o": 0.103,
"build/src/gap.o": 0.094,
"build/src/libapi1.o": 0.079,
"build/src/libapi2.o": 0.072,
"build/src/libc2_1.o": 0.069,
"build/src/libc2_2.o": 0.068,
"build/src/libcd1.o": 0.073,
"build/src/libcd2.o": 0.066,
"build/src/libetc.o": 0.069,
"build/src/libgpu.o": 0.073,
"build/src/libgpu2.o": 0.077,
"build/src/libgs1.o": 0.066,
"build/src/libgs2.o": 0.069,
"build/src/libgs3.o": 0.069,
"build/src/libgs4.o": 0.068,
"build/src/libgs5.o": 0.076,
"build/src/libgs6.o": 0.089,
"build/src/libgs7.o": 0.062,
"build/src/libgs8.o": 0.067,
"build/src/libgte1.o": 0.07,
"build/src/libgte10.o": 0.068,
"build/src/libgte11.o": 0.068,
"build/src/libgte12.o": 0.068,
"build/src/libgte13.o": 0.069,
"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/libgte15.o": 0.071,
"build/src/libgte16.o": 0.07,
"build/src/libgte17.o": 0.081,
"build/src/libgte18.o": 0.068,
"build/src/libgte19.o": 0.068,
"build/src/libgte2.o": 0.065,
"build/src/libgte20.o": 0.074,
"build/src/libgte21.o": 0.071,
"build/src/libgte22.o": 0.078,
"build/src/libgte23.o": 0.074,
"build/src/libgte24.o": 0.077,
"build/src/libgte25.o": 0.075,
"build/src/libgte26.o": 0.064,
"build/src/libgte27.o": 0.064,
"build/src/libgte28.o": 0.069,
"build/src/libgte29.o": 0.072,
"build/src/libgte3.o": 0.07,
"build/src/libgte30.o": 0.069,
"build/src/libgte4.o": 0.068,
"build/src/libgte5.o": 0.082,
"build/src/libgte6.o": 0.071,
"build/src/libgte7.o": 0.073,
"build/src/libgte8.o": 0.074,
"build/src/libgte9.o": 0.074,
"build/src/libmcrd1.o": 0.075,
"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/libpad1.o": 0.074,
"build/src/libpad2.o": 0.091,
"build/src/sgap.o": 0.078,
"build/src/sgap_2.o": 0.077,
"build/src/sgap_3.o": 0.072,
"build/src/sgap_4.o": 0.081,
"build/src/sgap_5.o": 0.073,
"build/src/sgap_6.o": 0.069,
"build/src/sgap_8.o": 0.084,
"build/src/snd1.o": 0.075,
"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/snd11.o": 0.07,
"build/src/snd12.o": 0.071,
"build/src/snd2.o": 0.08,
"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/snd4.o": 0.065,
"build/src/snd5.o": 0.067,
"build/src/snd6.o": 0.081,
"build/src/snd7.o": 0.077,
"build/src/snd8.o": 0.083,
"build/src/snd9.o": 0.09,
"build/src/md_SC07_004/md_SC07_004.o": 0.516,
"build/src/ov_SC03_015/ov_SC03_015.o": 0.156,
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.533,
"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.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_80135A4C.o": 0.077,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.145,
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.178,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.142,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.1,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.088,
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.197,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.085,
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.183,
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.103,
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.08,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.082,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.109,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.478,
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.278,
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.118,
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.218,
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.071,
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.111,
"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_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.19,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.222,
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.07,
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.292,
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.056,
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.077,
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.074,
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.092,
"build/src/ov_SC04_011/ov_SC04_011.o": 0.146,
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.448,
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.359,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.068,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.069,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.133,
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.161,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.126,
"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.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
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.182,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.075,
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.179,
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.102,
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.078,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.082,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.103,
"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.226,
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.117,
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.172,
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.071,
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.106,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.078,
"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.437,
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.057,
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.067
},
"ok": true,
"seconds": 2.1
File diff suppressed because one or more lines are too long
+229 -53
View File
@@ -1,9 +1,9 @@
{
"summary": {
"head": "112ef8d20a",
"src_stamp": "7ee42b658c361b37",
"head": "1419d7c159",
"src_stamp": "c7643721380ff744",
"tool_stamp": "e17c5fa676",
"when": "2026-10-01T22:26:17Z",
"when": "2026-10-01T22:35:44Z",
"files": 7306,
"tus": 4121,
"headers": 3181,
@@ -36,50 +36,50 @@
},
"casts": {
"by_form": {
"P": 339455,
"P": 339439,
"I": 55591,
"X": 13792,
"A": 18890,
"C": 96563,
"M": 19487,
"K": 10192
"K": 10208
},
"raw_counts": {
"P": 339455,
"P": 339439,
"I": 55591,
"X": 13792,
"A": 18890,
"C": 96563,
"M": 19487,
"K": 10192
"K": 10208
},
"coverage_ok": true,
"refused": 0,
"deref_total": 428325,
"deref_total": 428309,
"addr_form": 18890,
"typed_cast_member": 96563,
"bodies": 61049,
"by_bclass": {
"local": 140565,
"local": 140553,
"param": 220879,
"global": 8807,
"gaddr": 40114,
"nested": 14752,
"ident": 161,
"other": 1709,
"other": 1705,
"addr-of": 1338
},
"by_width": {
"s4": 119539,
"s4": 119530,
"s2": 116373,
"u2": 114066,
"u2": 114062,
"u1": 40332,
"agg": 13421,
"p4": 11361,
"u4": 10247,
"u4": 10244,
"s1": 2986
},
"readability_raw_regex": 342292,
"readability_raw_regex": 342276,
"abs_casts": 0,
"top_bases": [
[
@@ -170,7 +170,7 @@
[
"local",
"param_1",
2622
2610
],
[
"local",
@@ -284,14 +284,14 @@
]
],
"macros": {
"CAST_NONSTRUCT": 191,
"CAST_NONSTRUCT": 195,
"CAST_WIDTH": 3966,
"CAST_SIGN": 5238,
"CAST_ALIAS": 555,
"CAST_MISALIGNED": 230
"CAST_MISALIGNED": 242
},
"check_raw": {
"P": 339450,
"P": 339434,
"I": 55591,
"X": 13792,
"M": 19486
@@ -31955,6 +31955,17 @@
"bclass": "local",
"off": 5
},
{
"tu": "src/ov_SC03_014/ov_SC03_014_jr_80140608.c",
"fn": "func_8014477C",
"line": 2293,
"pos": 72107,
"name": "CAST_NONSTRUCT",
"cls": "NON-STRUCT",
"base": null,
"bclass": "other",
"off": 8
},
{
"tu": "src/ov_SC03_014/ov_SC03_014_jr_8015C32C.c",
"fn": "func_8015D1B8",
@@ -32010,6 +32021,50 @@
"bclass": "local",
"off": 4
},
{
"tu": "src/ov_SC03_014/ov_SC03_014_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_014/ov_SC03_014_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_014/ov_SC03_014_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_014/ov_SC03_014_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_014/ov_SC03_014_jr_801848E4.c",
"fn": "func_80184920",
@@ -32945,6 +33000,17 @@
"bclass": "local",
"off": 10
},
{
"tu": "src/ov_SC03_023/ov_SC03_023_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_023/ov_SC03_023_jr_8015C32C.c",
"fn": "func_8015D1B8",
@@ -33000,6 +33066,61 @@
"bclass": "local",
"off": 4
},
{
"tu": "src/ov_SC03_023/ov_SC03_023_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_023/ov_SC03_023_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_023/ov_SC03_023_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_023/ov_SC03_023_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_024/ov_SC03_024_jr_80140608.c",
"fn": "func_8014477C",
"line": 2308,
"pos": 72122,
"name": "CAST_NONSTRUCT",
"cls": "NON-STRUCT",
"base": null,
"bclass": "other",
"off": 8
},
{
"tu": "src/ov_SC03_024/ov_SC03_024_jr_8015C32C.c",
"fn": "func_8015D1B8",
@@ -33055,6 +33176,50 @@
"bclass": "local",
"off": 4
},
{
"tu": "src/ov_SC03_024/ov_SC03_024_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_024/ov_SC03_024_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_024/ov_SC03_024_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_024/ov_SC03_024_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_024/ov_SC03_024_jr_8017DF84.c",
"fn": "func_8017F128",
@@ -34012,6 +34177,17 @@
"bclass": "param",
"off": 24
},
{
"tu": "src/ov_SC03_028/ov_SC03_028_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_028/ov_SC03_028_jr_8015C32C.c",
"fn": "func_8015D1B8",
@@ -113458,61 +113634,61 @@
"cross_callees": 96
},
"struct_map": {
"types": 19020,
"explained_sites": 424285,
"deref_sites": 428325,
"types": 18974,
"explained_sites": 424273,
"deref_sites": 428309,
"explained_pct": 99.1,
"unassigned_sites": 4040,
"unassigned_sites": 4036,
"conflicts": 862,
"suspect": 10,
"evidence": {
"param": 39816,
"arg": 11143,
"ret-of": 5488,
"assign": 18640,
"arg": 11217,
"assign&": 1254,
"return": 1532,
"ret-of": 5438,
"assign": 18646,
"return": 1535,
"arg&": 250,
"field": 8081,
"field": 8029,
"nested": 9
},
"vetoed": {
"arg-conduit": 127160,
"assign-multisource": 33177,
"arg-no-overlap": 22636,
"ret-of-multisource": 6578,
"arg-conduit": 127172,
"assign&-multisource": 12212,
"arg&-conduit": 14637,
"arg-no-overlap": 23026,
"arg&-no-overlap": 3025,
"field-multisource": 6164,
"assign&-multisource": 12212,
"ret-of-multisource": 6578,
"ret-of": 607,
"assign": 347,
"ret-of": 704,
"assign": 334,
"assign&": 337,
"arg": 1010,
"return": 9,
"field": 160
"arg": 234,
"return": 6,
"field": 482
},
"singletons": 15001,
"multi_body": 4019,
"sites_in_multi_body": 366118,
"singletons": 14943,
"multi_body": 4031,
"sites_in_multi_body": 367645,
"top": [
{
"name": "Unkstruct_800D3888",
"sites": 105569,
"bodies": 17473,
"sites": 109078,
"bodies": 17524,
"size_hint": 588,
"fields": 230,
"fields": 231,
"conflicts": 50,
"sign_mixed": 76,
"sign_mixed": 82,
"merges": {
"arg&": 219,
"param": 11976,
"arg": 8505,
"assign": 8525,
"return": 728,
"ret-of": 2465,
"param": 12114,
"arg": 8579,
"assign": 8599,
"return": 727,
"ret-of": 2415,
"assign&": 122,
"field": 1691
"field": 1947
},
"globals_at": [
"D_800D3888",
@@ -113901,7 +114077,7 @@
},
"global_blocks": {
"n": 2125,
"members": 14257,
"members": 14259,
"top": [
{
"base": "0x800cf10c",
@@ -114079,9 +114255,9 @@
"path": ".run/P37/census/parked.tsv"
},
"timing": {
"walk_s": 51.0,
"decls_s": 219.3,
"total_s": 230.8
"walk_s": 42.5,
"decls_s": 202.9,
"total_s": 213.3
}
},
"dup_layout_classes": [
+10 -10
View File
@@ -1,16 +1,16 @@
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
type_census — 2026-10-01T22:35:44Z at 1419d7c159 (src stamp c7643721380ff744, tool e17c5fa676); 7306 files (4121 TUs + 3181 headers), 99109 function definitions; walk 42.5 s, total 213.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 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
CAST SITES deref 428309 = P 339439 + I 55591 + X 13792 + M 19487 (+ A address-of 18890; + C typed cast-member 96563) in 61049 bodies · coverage OK (raw {'P': 339439, 'I': 55591, 'X': 13792, 'A': 18890, 'C': 96563, 'M': 19487, 'K': 10208}) · refused 0 · absolute 0 · readability regex over raw text 342276
by base: param 220879 · local 140553 · gaddr 40114 · nested 14752 · global 8807 · other 1705 · addr-of 1338 · ident 161
by width: s4 119530 · s2 116373 · u2 114062 · u1 40332 · agg 13421 · p4 11361 · u4 10244 · 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 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
STRUCT MAP 18974 types explain 424273/428309 deref sites (99.1 %); unassigned 4036; 4031 types span ≥2 bodies (367645 sites), 14943 single-body; types with conflicts 862, suspect 10
merges by evidence {'param': 39816, 'arg': 11217, 'assign&': 1254, 'ret-of': 5438, 'assign': 18646, 'return': 1535, 'arg&': 250, 'field': 8029, 'nested': 9}; vetoed {'assign-multisource': 33177, 'ret-of-multisource': 6578, 'arg-conduit': 127172, 'assign&-multisource': 12212, 'arg&-conduit': 14637, 'arg-no-overlap': 23026, 'arg&-no-overlap': 3025, 'field-multisource': 6164, 'ret-of': 704, 'assign': 334, 'assign&': 337, 'arg': 234, 'return': 6, 'field': 482}
Unkstruct_800D3888 sites 109078 bodies 17524 fields 231 size≥0x24c width-conflicts 50 sign-mixed 82 merges {'param': 12114, 'assign': 8599, 'arg': 8579, 'ret-of': 2415} 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}
@@ -22,12 +22,12 @@ STRUCT MAP 19020 types explain 424285/428325 deref sites (99.1 %); unassigned
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 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)
GLOBAL BLOCKS 2125 runs of ≥4 adjacent scalar D_ symbols (14259 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) · 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
type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 428309 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: 18974 types over 18974 clusters explain 424273/428309 sites (99.1 %); 4036 unassigned sites; 862 types with conflicts
+1 -1
View File
@@ -2290,7 +2290,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
@@ -2305,7 +2305,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 {