T4: batch t4_md_S3 — restruct: batch t4_md_S3 rung S — 9 files (TUs; 9 drawable) · 101 bodies: 30 sites → members / 2 kept / 15 skipped · levers off 0 · compiles 25 in 40 s wall · final 9/9 identical · written 9 files | R22 check-all: 218 passed, 0 failed of 218 | type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 338041 cast sites in 51063 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-02 04:19:15 -06:00
parent 625ce8f3a5
commit 7e89fc05e8
13 changed files with 615 additions and 450 deletions
+148 -148
View File
@@ -1,7 +1,7 @@
{
"head": "3a259e0198",
"head": "ef3cab3047",
"stamp": "588cbf38c6e4",
"generated": "2026-10-02 03:57",
"generated": "2026-10-02 04:11",
"aliases": [
"main",
"md_SC07_004",
@@ -21,175 +21,175 @@
"main": {
"objects": 85,
"identical": 85,
"seconds": 6.683999999999998,
"seconds": 6.718999999999999,
"mean_s": 0.079
},
"md_SC07_004": {
"objects": 1,
"identical": 1,
"seconds": 0.499,
"mean_s": 0.499
"seconds": 0.451,
"mean_s": 0.451
},
"ov_SC03_015": {
"objects": 32,
"identical": 32,
"seconds": 4.829000000000001,
"mean_s": 0.151
"seconds": 4.625000000000001,
"mean_s": 0.145
},
"ov_SC04_011": {
"objects": 28,
"identical": 28,
"seconds": 4.109,
"mean_s": 0.147
"seconds": 3.950000000000001,
"mean_s": 0.141
}
},
"per_object_seconds": {
"build/src/800.o": 0.722,
"build/src/800_b.o": 0.082,
"build/src/800.o": 0.738,
"build/src/800_b.o": 0.073,
"build/src/800_b_2.o": 0.312,
"build/src/800_b_o0a.o": 0.067,
"build/src/800_c.o": 0.193,
"build/src/800b2.o": 0.074,
"build/src/apicard1.o": 0.088,
"build/src/apicard2.o": 0.064,
"build/src/apicard3.o": 0.06,
"build/src/apicard4.o": 0.103,
"build/src/apicard5.o": 0.075,
"build/src/apicard6.o": 0.069,
"build/src/apicard7.o": 0.081,
"build/src/boot.o": 0.096,
"build/src/gap.o": 0.064,
"build/src/libapi1.o": 0.077,
"build/src/libapi2.o": 0.057,
"build/src/800_b_o0a.o": 0.065,
"build/src/800_c.o": 0.187,
"build/src/800b2.o": 0.069,
"build/src/apicard1.o": 0.063,
"build/src/apicard2.o": 0.069,
"build/src/apicard3.o": 0.061,
"build/src/apicard4.o": 0.076,
"build/src/apicard5.o": 0.074,
"build/src/apicard6.o": 0.063,
"build/src/apicard7.o": 0.087,
"build/src/boot.o": 0.094,
"build/src/gap.o": 0.071,
"build/src/libapi1.o": 0.078,
"build/src/libapi2.o": 0.063,
"build/src/libc2_1.o": 0.061,
"build/src/libc2_2.o": 0.062,
"build/src/libcd1.o": 0.073,
"build/src/libcd2.o": 0.059,
"build/src/libetc.o": 0.064,
"build/src/libgpu.o": 0.055,
"build/src/libgpu2.o": 0.073,
"build/src/libgs1.o": 0.069,
"build/src/libgs2.o": 0.054,
"build/src/libgs3.o": 0.061,
"build/src/libgs4.o": 0.063,
"build/src/libgs5.o": 0.062,
"build/src/libgs6.o": 0.072,
"build/src/libgs7.o": 0.061,
"build/src/libgs8.o": 0.06,
"build/src/libgte1.o": 0.072,
"build/src/libgte10.o": 0.058,
"build/src/libgte11.o": 0.06,
"build/src/libgte12.o": 0.06,
"build/src/libgte13.o": 0.065,
"build/src/libgte14.o": 0.065,
"build/src/libgte15.o": 0.065,
"build/src/libgte16.o": 0.066,
"build/src/libgte17.o": 0.068,
"build/src/libc2_2.o": 0.06,
"build/src/libcd1.o": 0.07,
"build/src/libcd2.o": 0.06,
"build/src/libetc.o": 0.062,
"build/src/libgpu.o": 0.066,
"build/src/libgpu2.o": 0.072,
"build/src/libgs1.o": 0.058,
"build/src/libgs2.o": 0.059,
"build/src/libgs3.o": 0.063,
"build/src/libgs4.o": 0.071,
"build/src/libgs5.o": 0.059,
"build/src/libgs6.o": 0.076,
"build/src/libgs7.o": 0.06,
"build/src/libgs8.o": 0.058,
"build/src/libgte1.o": 0.056,
"build/src/libgte10.o": 0.061,
"build/src/libgte11.o": 0.062,
"build/src/libgte12.o": 0.062,
"build/src/libgte13.o": 0.056,
"build/src/libgte14.o": 0.063,
"build/src/libgte15.o": 0.063,
"build/src/libgte16.o": 0.054,
"build/src/libgte17.o": 0.058,
"build/src/libgte18.o": 0.059,
"build/src/libgte19.o": 0.067,
"build/src/libgte2.o": 0.061,
"build/src/libgte20.o": 0.062,
"build/src/libgte21.o": 0.06,
"build/src/libgte19.o": 0.059,
"build/src/libgte2.o": 0.057,
"build/src/libgte20.o": 0.058,
"build/src/libgte21.o": 0.059,
"build/src/libgte22.o": 0.063,
"build/src/libgte23.o": 0.065,
"build/src/libgte23.o": 0.061,
"build/src/libgte24.o": 0.064,
"build/src/libgte25.o": 0.065,
"build/src/libgte26.o": 0.058,
"build/src/libgte27.o": 0.068,
"build/src/libgte28.o": 0.061,
"build/src/libgte29.o": 0.065,
"build/src/libgte3.o": 0.061,
"build/src/libgte30.o": 0.066,
"build/src/libgte4.o": 0.064,
"build/src/libgte5.o": 0.065,
"build/src/libgte6.o": 0.074,
"build/src/libgte7.o": 0.063,
"build/src/libgte8.o": 0.064,
"build/src/libgte9.o": 0.07,
"build/src/libmcrd1.o": 0.081,
"build/src/libmcrd2.o": 0.066,
"build/src/libpad1.o": 0.059,
"build/src/libgte25.o": 0.078,
"build/src/libgte26.o": 0.1,
"build/src/libgte27.o": 0.065,
"build/src/libgte28.o": 0.06,
"build/src/libgte29.o": 0.069,
"build/src/libgte3.o": 0.069,
"build/src/libgte30.o": 0.06,
"build/src/libgte4.o": 0.071,
"build/src/libgte5.o": 0.067,
"build/src/libgte6.o": 0.069,
"build/src/libgte7.o": 0.066,
"build/src/libgte8.o": 0.067,
"build/src/libgte9.o": 0.069,
"build/src/libmcrd1.o": 0.092,
"build/src/libmcrd2.o": 0.069,
"build/src/libpad1.o": 0.07,
"build/src/libpad2.o": 0.069,
"build/src/sgap.o": 0.067,
"build/src/sgap_2.o": 0.063,
"build/src/sgap_3.o": 0.06,
"build/src/sgap_4.o": 0.073,
"build/src/sgap_5.o": 0.066,
"build/src/sgap_6.o": 0.068,
"build/src/sgap_8.o": 0.073,
"build/src/snd1.o": 0.065,
"build/src/snd10.o": 0.061,
"build/src/snd11.o": 0.064,
"build/src/snd12.o": 0.061,
"build/src/snd2.o": 0.068,
"build/src/snd3.o": 0.068,
"build/src/snd4.o": 0.063,
"build/src/snd5.o": 0.061,
"build/src/snd6.o": 0.071,
"build/src/snd7.o": 0.066,
"build/src/snd8.o": 0.068,
"build/src/sgap.o": 0.064,
"build/src/sgap_2.o": 0.064,
"build/src/sgap_3.o": 0.07,
"build/src/sgap_4.o": 0.071,
"build/src/sgap_5.o": 0.068,
"build/src/sgap_6.o": 0.078,
"build/src/sgap_8.o": 0.068,
"build/src/snd1.o": 0.073,
"build/src/snd10.o": 0.062,
"build/src/snd11.o": 0.069,
"build/src/snd12.o": 0.062,
"build/src/snd2.o": 0.07,
"build/src/snd3.o": 0.065,
"build/src/snd4.o": 0.065,
"build/src/snd5.o": 0.079,
"build/src/snd6.o": 0.069,
"build/src/snd7.o": 0.069,
"build/src/snd8.o": 0.064,
"build/src/snd9.o": 0.066,
"build/src/md_SC07_004/md_SC07_004.o": 0.499,
"build/src/ov_SC03_015/ov_SC03_015.o": 0.138,
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.513,
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.403,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.072,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.072,
"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.167,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.117,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.09,
"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.201,
"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.175,
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.101,
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.073,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.085,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.099,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.463,
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.25,
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.108,
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.2,
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.066,
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.109,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.079,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.171,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.18,
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.06,
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.278,
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.06,
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.057,
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.063,
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.077,
"build/src/ov_SC04_011/ov_SC04_011.o": 0.122,
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.43,
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.348,
"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.061,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.134,
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.151,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.123,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.082,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.075,
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.181,
"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.18,
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.095,
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.074,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.081,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.104,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.35,
"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.106,
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.164,
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.072,
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.094,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.077,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.108,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.427,
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.048,
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.064
"build/src/md_SC07_004/md_SC07_004.o": 0.451,
"build/src/ov_SC03_015/ov_SC03_015.o": 0.142,
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.463,
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.387,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.068,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.068,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.129,
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.154,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.123,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.084,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.076,
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.162,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.079,
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.174,
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.088,
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.069,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.074,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.091,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.43,
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.245,
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.099,
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.21,
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.073,
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.1,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.086,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.163,
"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.057,
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.277,
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.051,
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.069,
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.062,
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.069,
"build/src/ov_SC04_011/ov_SC04_011.o": 0.12,
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.405,
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.345,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.055,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.052,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.12,
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.158,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.122,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.08,
"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.17,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.071,
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.157,
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.087,
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.075,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.071,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.094,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.354,
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.216,
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.107,
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.159,
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.064,
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.091,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.067,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.107,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.423,
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.046,
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.06
},
"ok": true,
"seconds": 2.0
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
+10 -10
View File
@@ -1,16 +1,16 @@
type_census — 2026-10-02T10:08:41Z at 3a259e0198 (src stamp 010e619b96bce386, tool e17c5fa676); 7306 files (4121 TUs + 3181 headers), 99109 function definitions; walk 40.7 s, total 198.8 s
type_census — 2026-10-02T10:16:48Z at ef3cab3047 (src stamp 8057c7b519dc7f5d, tool e17c5fa676); 7306 files (4121 TUs + 3181 headers), 99109 function definitions; walk 39.0 s, total 191.2 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 338086 = P 257656 + I 51509 + X 13790 + M 15131 (+ A address-of 18889; + C typed cast-member 172964) in 51066 bodies · coverage OK (raw {'P': 257656, 'I': 51509, 'X': 13790, 'A': 18889, 'C': 172964, 'K': 20927, 'M': 15131}) · refused 0 · absolute 0 · readability regex over raw text 260493
by base: param 152159 · local 124632 · gaddr 40113 · nested 9451 · global 8616 · other 1616 · addr-of 1338 · ident 161
by width: s2 103414 · u2 84374 · s4 81505 · u1 34958 · agg 13410 · p4 10966 · u4 7578 · s1 1881
top bases: param_1(param) 57137 · a0(param) 39640 · arg0(param) 30940 · p(local) 13172 · cach(local) 8246 · buf(local) 7056 · s0(local) 6649 · s1(local) 6411 · flag(local) 5453 · dst(local) 4853 · iVar2(local) 4394 · iVar1(local) 3474 · cur(local) 3375 · p(param) 3036 · e(local) 3002 · src(local) 2599
CAST SITES deref 338041 = P 257611 + I 51509 + X 13790 + M 15131 (+ A address-of 18889; + C typed cast-member 172993) in 51063 bodies · coverage OK (raw {'P': 257611, 'I': 51509, 'X': 13790, 'A': 18889, 'C': 172993, 'K': 20942, 'M': 15131}) · refused 0 · absolute 0 · readability regex over raw text 260448
by base: param 152155 · local 124592 · gaddr 40113 · nested 9450 · global 8616 · other 1616 · addr-of 1338 · ident 161
by width: s2 103408 · u2 84363 · s4 81494 · u1 34945 · agg 13410 · p4 10966 · u4 7574 · s1 1881
top bases: param_1(param) 57137 · a0(param) 39636 · arg0(param) 30940 · p(local) 13172 · cach(local) 8246 · buf(local) 7056 · s0(local) 6646 · s1(local) 6411 · flag(local) 5453 · dst(local) 4853 · iVar2(local) 4394 · iVar1(local) 3464 · cur(local) 3375 · p(param) 3036 · e(local) 3002 · src(local) 2599
DECLARATIONS 99109 function definitions (1894 K&R) · 4279260 extern function declarations over 12088 names (3773 spelled >1 way) · 6421 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 18682 types explain 334175/338086 deref sites (98.8 %); unassigned 3911; 3978 types span ≥2 bodies (278621 sites), 14704 single-body; types with conflicts 844, suspect 11
merges by evidence {'param': 39246, 'arg': 10995, 'assign': 19402, 'ret-of': 5843, 'assign&': 1263, 'return': 1530, 'arg&': 276, 'field': 6569, 'nested': 9}; vetoed {'arg&-conduit': 14638, 'arg-conduit': 141033, 'assign-multisource': 33677, 'arg-no-overlap': 33673, 'assign&-multisource': 12225, 'ret-of-multisource': 6714, 'arg&-no-overlap': 3404, 'field-multisource': 5264, 'ret-of': 640, 'assign': 314, 'return': 6, 'assign&': 338, 'arg': 128, 'field': 128}
Unkstruct_800B5CB8 sites 16745 bodies 4145 fields 119 size≥0x10c width-conflicts 50 sign-mixed 48 merges {'param': 9128, 'assign': 8637, 'arg': 7075, 'ret-of': 2542} at D_800B5CB8,D_800D3888,D_80181448 ptr D_8006386C,D_80074778,D_80074780
STRUCT MAP 18604 types explain 334130/338041 deref sites (98.8 %); unassigned 3911; 3967 types span ≥2 bodies (279140 sites), 14637 single-body; types with conflicts 844, suspect 11
merges by evidence {'param': 39246, 'assign': 19403, 'arg': 10996, 'ret-of': 5889, 'assign&': 1263, 'return': 1529, 'arg&': 276, 'field': 6570, 'nested': 9}; vetoed {'arg-conduit': 141051, 'arg-no-overlap': 33677, 'arg&-conduit': 14638, 'field-multisource': 5264, 'ret-of-multisource': 6714, 'assign-multisource': 33677, 'arg&-no-overlap': 3404, 'ret-of': 536, 'assign&-multisource': 12225, 'assign': 313, 'return': 7, 'assign&': 338, 'arg': 91, 'field': 116}
Unkstruct_800B5CB8 sites 17484 bodies 4176 fields 120 size≥0x10c width-conflicts 50 sign-mixed 50 merges {'param': 9136, 'assign': 8647, 'arg': 7076, 'ret-of': 2583} at D_800B5CB8,D_800D3888,D_80181448 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': 12, 'arg': 5}
Unkstruct_80126B58 sites 5482 bodies 2947 fields 165 size≥0x24c width-conflicts 40 sign-mixed 45 merges {'param': 2120, 'arg': 1118, 'assign&': 104, 'assign': 41} at D_80126B58 ptr D_80126B58
Unkstruct_dac960ce sites 4464 bodies 124 fields 13 size≥0x24c width-conflicts 0 sign-mixed 2 merges {'param': 2}
@@ -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) · 338086 cast sites in 51066 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: 18682 types over 18682 clusters explain 334175/338086 sites (98.8 %); 3911 unassigned sites; 844 types with conflicts
type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 338041 cast sites in 51063 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: 18604 types over 18604 clusters explain 334130/338041 sites (98.8 %); 3911 unassigned sites; 844 types with conflicts
+4 -4
View File
@@ -140,10 +140,10 @@ void func_800CB1CC(void *arg0) {
return;
}
func_8001CC3C(obj, D_800CB324, 0, 0);
*(u16 *)(obj + 0x1A) = 0x1C00;
*(u16 *)(obj + 0x18) = 0x1C00;
*(u8 *)(obj + 0x27) = 0x19;
*(s32 *)(obj + 4) |= 0xC0000000;
((Unkstruct_800B5CB8 *)obj)->unk1A = 0x1C00;
((Unkstruct_800B5CB8 *)obj)->unk18 = 0x1C00;
((Unkstruct_800B5CB8 *)obj)->unk27 = 0x19;
CAST_WIDTH(s32, obj, 4) |= 0xC0000000;
func_80128EA8(obj, (s32)arg0 + 0x24, (s32)D_800CB330);
result = 2;
*(s32 *)((s32)arg0 + 0x20) = obj;
+7 -7
View File
@@ -478,12 +478,12 @@ void func_800CB968(void *a0) {
if (s0 != 0) {
func_8001CBDC((s32)s0, D_800CBF20, 0x1A0, 0x170);
func_800CBB50(s0);
*(s32 *)((s32)s2 + 4) &= 0x7FFFFFFF;
CAST_WIDTH(s32, (s32)s2, 4) &= 0x7FFFFFFF;
}
func_80146CA0(a0);
} else {
if (s0 != 0) {
*(u16 *)((s32)s0 + 0x18) += 0x2AA;
((Unkstruct_800B5CB8 *)s0)->unk18 += 0x2AA;
}
}
}
@@ -520,7 +520,7 @@ void func_800CBA60(void *a0) {
func_8001CB00((s32)s0, D_800CBF20, 0x1A0, 0x170);
func_800CBB50(s0);
}
*(s32 *)((s32)s2 + 4) |= 0x80000000;
CAST_WIDTH(s32, (s32)s2, 4) |= 0x80000000;
func_80146E90((s32 *)a0, 4);
func_80146CA0(a0);
}
@@ -543,10 +543,10 @@ void func_800CBAF4(void *a0)
void func_800CBB50(void *a0) {
*(u8 *)((s32)a0 + 0x27) = 0x1A;
*(s16 *)((s32)a0 + 0x2C) = 1;
*(s16 *)((s32)a0 + 0x8) = 0;
*(s16 *)((s32)a0 + 0xA) = -0x40;
((Unkstruct_800B5CB8 *)a0)->unk27 = 0x1A;
((Unkstruct_800B5CB8 *)a0)->unk2C = 1;
((Unkstruct_800B5CB8 *)a0)->unk8 = 0;
CAST_ALIAS(s16, (s32)a0, 0xA) = -0x40;
}
+2 -2
View File
@@ -94,8 +94,8 @@ void func_800CAF90(s32 a0) {
}
angle = t << 16;
func_8001CC3C(prim, D_800D387C, *(s16 *)(D_800CB4A8 + (angle >> 15)), *(s16 *)(D_800CB4AA + (angle >> 15)));
*(u8 *)(prim + 0x27) = (angle >> 17) + 0x19;
*(s32 *)(prim + 4) |= 0x50000000;
((Unkstruct_800B5CB8 *)prim)->unk27 = (angle >> 17) + 0x19;
CAST_WIDTH(s32, prim, 4) |= 0x50000000;
*(u32 *)(a0 + 0x30) = *(u16 *)(a0 + 0x30);
*(s32 *)(a0 + 0x20) = prim;
*(s16 *)(a0 + 2) = 2;
+9 -9
View File
@@ -110,13 +110,13 @@ void func_800CAFA8(void *a0) {
return;
}
func_8001CC3C(ent, D_800CB464, 0, 0);
*(u16 *)(ent + 0x18) = 0x6000;
*(u16 *)(ent + 0x1A) = 0x6000;
*(u8 *)(ent + 0x27) = 0x19;
*(u8 *)(ent + 0x26) = 0;
*(u8 *)(ent + 0x25) = 0;
*(u8 *)(ent + 0x24) = 0;
*(s32 *)(ent + 4) |= 0xD0000000;
((Unkstruct_800B5CB8 *)ent)->unk18 = 0x6000;
((Unkstruct_800B5CB8 *)ent)->unk1A = 0x6000;
((Unkstruct_800B5CB8 *)ent)->unk27 = 0x19;
((Unkstruct_800B5CB8 *)ent)->unk26 = 0;
((Unkstruct_800B5CB8 *)ent)->unk25 = 0;
((Unkstruct_800B5CB8 *)ent)->unk24 = 0;
CAST_WIDTH(s32, ent, 4) |= 0xD0000000;
func_80128EA8(ent, (s32)a0 + 0x24, D_800CB470);
*(s32 *)((s32)a0 + 0x20) = ent;
*(s32 *)((s32)a0 + 0x34) = 0;
@@ -132,8 +132,8 @@ void func_800CAFA8(void *a0) {
}
*(s32 *)((s32)a0 + 0x34) = ent;
func_8001CD9C(ent, &D_800CB51C);
*(u16 *)(ent + 0x2C) = 0x8001;
*(s32 *)(ent + 4) |= 0xE0000000;
((Unkstruct_800B5CB8 *)ent)->unk2C = 0x8001;
CAST_WIDTH(s32, ent, 4) |= 0xE0000000;
}
}
+6 -6
View File
@@ -121,14 +121,14 @@ void func_800CB058(s32 arg0)
maska = 0x50001000;
p = s2a;
q = (s32)(s1a + 4);
v0w = *(u32 *)(s0a + 4);
*(u8 *)(s0a + 0x27) = 0x19;
*(u32 *)(s0a + 4) = (v0w | maska) & ~0x40;
v0w = CAST_WIDTH(u32, s0a, 4);
((Unkstruct_800B5CB8 *)s0a)->unk27 = 0x19;
CAST_WIDTH(u32, s0a, 4) = (v0w | maska) & ~0x40;
fptr = *(s32 *)(p + 0x20);
cnt = D_800CB984++;
*(s16 *)(s0a + 0x12) = *(s16 *)(fptr + 0x12);
*(s16 *)(s0a + 0x10) = 0x400;
*(s32 *)(s0a + 0x34) = (s32)D_800CB988 + ((cnt & 7) * 32);
((Unkstruct_800B5CB8 *)s0a)->unk12 = *(s16 *)(fptr + 0x12);
((Unkstruct_800B5CB8 *)s0a)->unk10 = 0x400;
CAST_WIDTH(s32, s0a, 0x34) = (s32)D_800CB988 + ((cnt & 7) * 32);
func_80149374(p, q);
func_80146DE8(s1a, 0, 0, -0x100000);
func_80146E90(s1a, 0x3C);
+3 -3
View File
@@ -317,9 +317,9 @@ void func_800CB480(s32 arg0)
} else {
*(s32 *)(arg0 + 0x20) = iVar1;
func_8001CC3C(iVar1, (s32)&D_800CB648, 0x1B8, 0x100);
*(u8 *)(iVar1 + 0x27) = 0x1A;
*(u16 *)(iVar1 + 0x1A) = 0x2000;
*(u16 *)(iVar1 + 0x18) = 0x2000;
((Unkstruct_800B5CB8 *)iVar1)->unk27 = 0x1A;
((Unkstruct_800B5CB8 *)iVar1)->unk1A = 0x2000;
((Unkstruct_800B5CB8 *)iVar1)->unk18 = 0x2000;
*(s32 *)(arg0 + 0x10) = *(s32 *)((s32)&D_800CB65C + (*(s32 *)(arg0 + 0x2C)) * 0x10);
*(s32 *)(arg0 + 0x14) = *(s32 *)((s32)&D_800CB660 + (*(s32 *)(arg0 + 0x2C)) * 0x10);
*(s32 *)(arg0 + 0x18) = *(s32 *)((s32)&D_800CB664 + (*(s32 *)(arg0 + 0x2C)) * 0x10);
+6 -6
View File
@@ -211,12 +211,12 @@ void func_800CD010(s32 param_1)
*(s32 *)(p1 + 0x20) = iVar1;
if (iVar1 != 0) {
func_8001CC3C(iVar1, (s32)&D_800CD66C, 0x220, 0x168);
*(u8 *)(iVar1 + 0x27) = 0x24;
*(u8 *)(iVar1 + 0x24) = 0xFF;
*(u8 *)(iVar1 + 0x25) = 0x40;
*(u8 *)(iVar1 + 0x26) = 0x40;
*(u32 *)(iVar1 + 4) = *(u32 *)(iVar1 + 4) | 0x50000000;
*(s16 *)(iVar1 + 0x10) = *(s32 *)(p1 + 0x50) << 10;
((Unkstruct_800B5CB8 *)iVar1)->unk27 = 0x24;
((Unkstruct_800B5CB8 *)iVar1)->unk24 = 0xFF;
((Unkstruct_800B5CB8 *)iVar1)->unk25 = 0x40;
((Unkstruct_800B5CB8 *)iVar1)->unk26 = 0x40;
CAST_WIDTH(u32, iVar1, 4) = CAST_WIDTH(u32, iVar1, 4) | 0x50000000;
((Unkstruct_800B5CB8 *)iVar1)->unk10 = *(s32 *)(p1 + 0x50) << 10;
*(s16 *)(p1 + 0x60) = *(s32 *)(p1 + 0x50) << 10;
((void (*)(s32))func_800CD204)(p1);
((void (*)(void *))func_80146CA0)((void *)p1);
+5 -5
View File
@@ -1046,13 +1046,13 @@ void func_801A143C(s32 a0) {
vin.vx = t;
func_800484EC(*(s32 *)(a0 + 0x20) + 0x34, (s32)&vin, (s32)&vout);
*(s32 *)(obj + 0x4) += vout.vx;
*(s32 *)(obj + 0x8) += vout.vy;
*(s32 *)(obj + 0xC) += vout.vz;
CAST_WIDTH(s32, obj, 0x4) += vout.vx;
CAST_WIDTH(s32, obj, 0x8) += vout.vy;
CAST_WIDTH(s32, obj, 0xC) += vout.vz;
r = rand();
*(u16 *)(obj + 0x34) = (((r % 8192) + 0x5000) & ~0xF) | (rand() & 1);
*(u16 *)(*(s32 *)(obj + 0x20) + 0x2C) = 0xC004;
((Unkstruct_800B5CB8 *)obj)->unk34 = (((r % 8192) + 0x5000) & ~0xF) | (rand() & 1);
((Unkstruct_800B5CB8 *)*(s32 *)(obj + 0x20))->unk2C = 0xC004;
if (pick != i) {
continue;
+2 -2
View File
@@ -6205,8 +6205,8 @@ s32 func_801A93F4(void *a0)
s0 = func_80132EF4(a0, 0x2D);
if (s0 != 0) {
*(s32 *)(s0 + 0x14) = *(s32 *)(a0 + 0x14) >> 1;
*(u16 *)(s0 + 0x2C) = rand() & 1;
((Unkstruct_800B5CB8 *)s0)->unk14 = *(s32 *)(a0 + 0x14) >> 1;
((Unkstruct_800B5CB8 *)s0)->unk2C = rand() & 1;
}
return s0;
}