phase12: match four worker claims (730 bodies / 739 regions)
This commit is contained in:
@@ -959,7 +959,7 @@
|
||||
952 0x801007E0 0x80100808 40 fallthrough 3 frame 1 - 1
|
||||
#
|
||||
# listed=952
|
||||
# excluded_already_registered=733
|
||||
# excluded_already_registered=737
|
||||
# excluded_bad_extent_start=8
|
||||
# excluded_degenerate_body=252
|
||||
# excluded_delay_slot_start=5
|
||||
@@ -968,6 +968,6 @@
|
||||
# excluded_low_confidence_grade=90
|
||||
# excluded_named_exclusion=9
|
||||
# excluded_no_extent=0
|
||||
# excluded_recorded_negative=95
|
||||
# excluded_recorded_negative=91
|
||||
# excluded_restores_unsaved=11
|
||||
# excluded_trapping_arith=48
|
||||
|
||||
|
@@ -212,6 +212,7 @@
|
||||
0x80036F70 0x8003713C src/func_80036F70.c
|
||||
0x8003768C 0x800376CC src/func_8003768C.c
|
||||
0x800376CC 0x80037770 src/func_800376CC.c
|
||||
0x80037984 0x800379E0 src/func_80037984.c
|
||||
0x80038788 0x80038790 src/func_80038788.c
|
||||
0x80038790 0x8003879C src/func_80038790.c
|
||||
0x80038D48 0x80038DD8 src/func_80038D48.c
|
||||
@@ -223,6 +224,7 @@
|
||||
0x8003B320 0x8003B34C src/func_8003B320.c
|
||||
0x8003CB8C 0x8003CBE4 src/func_8003CB8C.c
|
||||
0x8003D310 0x8003D35C src/func_8003D310.c
|
||||
0x8003EB18 0x8003EB84 src/func_8003EB18.c
|
||||
0x80041610 0x80041688 src/func_80041610.c
|
||||
0x800419D0 0x80041A24 src/func_800419D0.c
|
||||
0x80041A24 0x80041A58 src/func_80041A24.c
|
||||
@@ -580,6 +582,7 @@
|
||||
0x800BFEE0 0x800BFF00 src/func_800BFEE0.c
|
||||
0x800BFF00 0x800BFF20 src/func_800BFF00.c
|
||||
0x800C1424 0x800C14BC src/func_800C1424.c
|
||||
0x800C1E54 0x800C1EA8 src/func_800C1E54.c
|
||||
0x800C1EA8 0x800C1F04 src/func_800C1EA8.c
|
||||
0x800C3514 0x800C356C src/func_800C3514.c
|
||||
0x800C5C84 0x800C5CBC src/func_800C5C84.c
|
||||
@@ -620,6 +623,7 @@
|
||||
0x800F8294 0x800F82A4 src/func_800F8294.c
|
||||
0x800F8638 0x800F8658 src/func_800F8638.c
|
||||
0x800F88F0 0x800F8928 src/func_800F88F0.c maspsx=epilogue
|
||||
0x800F8928 0x800F8970 src/func_800F8928.c maspsx=epilogue
|
||||
0x800F8A0C 0x800F8A48 src/func_800F8A0C.c
|
||||
0x800F8ACC 0x800F8ADC src/func_800F8ACC.c
|
||||
0x800F8ADC 0x800F8AEC src/func_800F8ADC.c
|
||||
|
||||
|
@@ -6,11 +6,11 @@
|
||||
|
||||
## STATE — SOLO CONTINUATION, 2026-09-24 (current)
|
||||
|
||||
**726 bodies / 735 regions**, from 685 / 694 at the last session stop — **+41 bodies / +41 regions**.
|
||||
The Phase 12 milestone remains 750 bodies, so **+24 remains**. The promoted whole-binary gate is green:
|
||||
`c_regions=735`, `differing_bytes=0`, SHA-1
|
||||
**730 bodies / 739 regions**, from 685 / 694 at the last session stop — **+45 bodies / +45 regions**.
|
||||
The Phase 12 milestone remains 750 bodies, so **+20 remains**. The promoted whole-binary gate is green:
|
||||
`c_regions=739`, `differing_bytes=0`, SHA-1
|
||||
`e173426c157384ebf1b6caf8c6fea18a85a14af9`; 348 synthetic tests pass and extents report
|
||||
`regions=735 disagreements=0 result=AGREE`.
|
||||
`regions=739 disagreements=0 result=AGREE`.
|
||||
|
||||
The requested second batch of 20 is complete. Twenty additional bodies are now matched:
|
||||
`0x800BC9C4`, `0x800BC8C4`, `0x8006BB0C`, `0x8002D17C`, `0x801029A0`, `0x80055958`,
|
||||
@@ -24,7 +24,7 @@ Final clean verification (2026-09-25): `make clean && make all`, `make worklist`
|
||||
`make extents-verify`, and `make check` all exited 0. Both clean assembly and code rebuilds
|
||||
matched the USA executable byte-for-byte; each is 1,886,208 bytes with SHA-1
|
||||
`e173426c157384ebf1b6caf8c6fea18a85a14af9`. The final worklist is 952 rows and the extents
|
||||
check reports `regions=735 disagreements=0 result=AGREE`.
|
||||
check reports `regions=739 disagreements=0 result=AGREE`.
|
||||
## STATE — SESSION STOP, 2026-09-24 23:35 (historical; superseded by the state above, kept for provenance)
|
||||
|
||||
**685 bodies / 694 regions**, from 602 / 611 at the Phase 11 close — **+83 bodies**. **Milestone 750 was NOT
|
||||
|
||||
@@ -2502,3 +2502,20 @@ SHA-1, exit 0. `make check` passed with 348 tests and extents `regions=730 disag
|
||||
|
||||
**Count after task 29: 726 bodies / 735 regions (+124 bodies from the Phase 12 open baseline;
|
||||
+24 remain to milestone 750).**
|
||||
|
||||
### Worker B batch — four exact claims
|
||||
|
||||
The fresh tracked sources were re-verified and merged after the worker's claims:
|
||||
|
||||
* `0x800F8928..0x800F8970`, 72/72, `maspsx=epilogue`.
|
||||
* `0x800C1E54..0x800C1EA8`, 84/84, guarded local escaping to a third call.
|
||||
* `0x80037984..0x800379E0`, 92/92, with the first helper argument distinct from the later
|
||||
`+5356` argument.
|
||||
* `0x8003EB18..0x8003EB84`, 108/108, absolute state read and symbol-form callback address.
|
||||
|
||||
The four-region candidate whole-binary gate passed at `c_regions=739`, zero differing bytes, expected
|
||||
SHA-1, exit 0. `make check` passed with 348 tests and extents `regions=739 disagreements=0`; worklist
|
||||
regeneration remains 952 rows.
|
||||
|
||||
**Count after task 33: 730 bodies / 739 regions (+128 bodies from the Phase 12 open baseline;
|
||||
+20 remain to milestone 750).**
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* func_80037984 — 92 bytes at 0x80037984..0x800379E0
|
||||
*
|
||||
* Resolve a record, pass the original argument plus a fixed offset to a helper,
|
||||
* then mark the resolved record and return success. The first helper receives
|
||||
* the original argument; the +5356 setup belongs to the later call.
|
||||
*/
|
||||
|
||||
int func_800376CC(int);
|
||||
void func_80026560(int, int *);
|
||||
|
||||
int func_80037984(int a0)
|
||||
{
|
||||
int *p = (int *)func_800376CC(a0);
|
||||
|
||||
if (p != 0) {
|
||||
func_80026560(a0 + 5356, p);
|
||||
*(int *)*p = -1;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
/*
|
||||
* func_8003EB18 — 108 bytes at 0x8003EB18..0x8003EB84
|
||||
*
|
||||
* Select one of two callback argument modes from the input value and the
|
||||
* absolute state word at 0x80121A80. The callback data address is a symbol so
|
||||
* the original lui/addiu materialization is retained.
|
||||
*/
|
||||
|
||||
extern char D_8003EA88[];
|
||||
void func_800137C8(int, int, int);
|
||||
|
||||
void func_8003EB18(int a0, int a1)
|
||||
{
|
||||
if (a1 == 127) {
|
||||
if (*(int *)0x80121A80 != 3)
|
||||
func_800137C8((int)D_8003EA88, 1, 1);
|
||||
} else {
|
||||
if (*(int *)0x80121A80 == 3)
|
||||
func_800137C8((int)D_8003EA88, 1, 0);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* func_800C1E54 — 84 bytes at 0x800C1E54..0x800C1EA8
|
||||
*
|
||||
* When the argument's field at +468 is nonzero, obtain a value, pass it to a
|
||||
* second helper, then pass its address to a third helper. The local starts at
|
||||
* zero inside the guarded block because its address escapes.
|
||||
*/
|
||||
|
||||
int func_800C14BC(void);
|
||||
void func_800C1A58(int, int);
|
||||
void func_80026650(int *);
|
||||
|
||||
void func_800C1E54(int a0)
|
||||
{
|
||||
if (*(int *)(a0 + 468) != 0) {
|
||||
int v = 0;
|
||||
|
||||
v = func_800C14BC();
|
||||
func_800C1A58(a0, v);
|
||||
func_80026650(&v);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
/*
|
||||
* func_800F8928 — 72 bytes at 0x800F8928..0x800F8970
|
||||
*
|
||||
* Call the stored function pointer with the first argument, then pass its
|
||||
* result and the original second/third arguments to a fixed helper.
|
||||
*
|
||||
* REGION TOKEN: `maspsx=epilogue`.
|
||||
*/
|
||||
|
||||
extern int D_8011FE24;
|
||||
void func_8010513C(int, int, int);
|
||||
|
||||
void func_800F8928(int a0, int a1, int a2)
|
||||
{
|
||||
int v = ((int (*)(int))D_8011FE24)(a0);
|
||||
|
||||
func_8010513C(v, a1, a2);
|
||||
}
|
||||
Reference in New Issue
Block a user