Bind acquisition owner writes to opcode dispatcher
This commit is contained in:
parent
78ccee53a3
commit
49ee76ef2a
2 changed files with 45 additions and 3 deletions
|
|
@ -4586,6 +4586,8 @@ fn build_periodic_company_service_trace_report(
|
||||||
.to_string(),
|
.to_string(),
|
||||||
"city-connection direct-placement family 0x00402cb0 -> 0x00403ed5/0x0040446b -> 0x004134d0 -> 0x0040ef10 already grounds the shared allocator/finalize path for newly created site rows"
|
"city-connection direct-placement family 0x00402cb0 -> 0x00403ed5/0x0040446b -> 0x004134d0 -> 0x0040ef10 already grounds the shared allocator/finalize path for newly created site rows"
|
||||||
.to_string(),
|
.to_string(),
|
||||||
|
"opcode-dispatch strip 0x00431b20 routes grouped 0x0061039c opcodes into the same live site-mutation helpers 0x00430040 / 0x00426d60 / 0x0042fc90 rather than the bring-up replay family"
|
||||||
|
.to_string(),
|
||||||
"company stat-family lane 0x2329/0x0d already rehosted in runtime company state".to_string(),
|
"company stat-family lane 0x2329/0x0d already rehosted in runtime company state".to_string(),
|
||||||
"company market state now carries the save-native linked-transit route-anchor tuple [company+0x0d35] and [company+0x7664/+0x7668/+0x766c]"
|
"company market state now carries the save-native linked-transit route-anchor tuple [company+0x0d35] and [company+0x7664/+0x7668/+0x766c]"
|
||||||
.to_string(),
|
.to_string(),
|
||||||
|
|
@ -4622,6 +4624,8 @@ fn build_periodic_company_service_trace_report(
|
||||||
"0x00444690 -> 0x004133b0 -> 0x0040ee10 is the current checked-in replay family above live placed structures".to_string(),
|
"0x00444690 -> 0x004133b0 -> 0x0040ee10 is the current checked-in replay family above live placed structures".to_string(),
|
||||||
"0x004133b0 rebuilds cloned local-runtime records through 0x0040e450 and 0x0040ee10 only republishes local position/scalar triplets before 0x0040e360".to_string(),
|
"0x004133b0 rebuilds cloned local-runtime records through 0x0040e450 and 0x0040ee10 only republishes local position/scalar triplets before 0x0040e360".to_string(),
|
||||||
"direct local writer census now shows the grounded [site+0x276] write side clustering under live mutation families such as 0x004269b0 / 0x00426a10, the create-side 0x0040ef10 / 0x0040f6d0 strip, and the bulk reassignment families 0x00426dce..0x00426ea1 and 0x00430040..0x004300d6 rather than under the known replay strip".to_string(),
|
"direct local writer census now shows the grounded [site+0x276] write side clustering under live mutation families such as 0x004269b0 / 0x00426a10, the create-side 0x0040ef10 / 0x0040f6d0 strip, and the bulk reassignment families 0x00426dce..0x00426ea1 and 0x00430040..0x004300d6 rather than under the known replay strip".to_string(),
|
||||||
|
"direct local control-flow reconstruction now shows those same writer families hanging under the 0x00431b20 opcode dispatcher over 0x0061039c: opcodes 0x04..0x07 dispatch to 0x00430040, opcodes 0x08/0x10..0x13 dispatch to 0x00426d60, and opcodes 0x0d/0x16 dispatch to 0x0042fc90".to_string(),
|
||||||
|
"0x0042fc90 itself iterates the live placed-structure collection 0x0062b26c, filters rows through 0x0040c990 plus optional company match [site+0x276], and then dispatches row vtable slot +0x70, which keeps that branch on the live application side rather than replay".to_string(),
|
||||||
],
|
],
|
||||||
blockers: vec![
|
blockers: vec![
|
||||||
"current atlas evidence does not tie 0x004133b0 / 0x0040ee10 directly to [site+0x276], and the grounded write side now looks create-side or control-transfer-side rather than replay-side, so another restore or persisted owner strip is still needed for the owner-company lane".to_string(),
|
"current atlas evidence does not tie 0x004133b0 / 0x0040ee10 directly to [site+0x276], and the grounded write side now looks create-side or control-transfer-side rather than replay-side, so another restore or persisted owner strip is still needed for the owner-company lane".to_string(),
|
||||||
|
|
@ -4738,6 +4742,8 @@ fn build_periodic_company_service_trace_report(
|
||||||
"0x004269b0 acquisition commit owner resolving one site id through 0x0062b26c and then mutating [site+0x276]/[site+0x27a] on the chosen live row".to_string(),
|
"0x004269b0 acquisition commit owner resolving one site id through 0x0062b26c and then mutating [site+0x276]/[site+0x27a] on the chosen live row".to_string(),
|
||||||
"0x00426dce..0x00426ea1 bulk placed-structure owner-company reassignment over 0x0062b26c for non-subtype-4 rows matching the current company".to_string(),
|
"0x00426dce..0x00426ea1 bulk placed-structure owner-company reassignment over 0x0062b26c for non-subtype-4 rows matching the current company".to_string(),
|
||||||
"0x00430040..0x004300d6 filtered placed-structure owner-company overwrite over site classes 0x09/0x0b/0x0c".to_string(),
|
"0x00430040..0x004300d6 filtered placed-structure owner-company overwrite over site classes 0x09/0x0b/0x0c".to_string(),
|
||||||
|
"0x00431b20 grouped opcode dispatcher over 0x0061039c routing opcodes 0x04..0x07 to 0x00430040, 0x08/0x10..0x13 to 0x00426d60, and 0x0d/0x16 to 0x0042fc90".to_string(),
|
||||||
|
"0x0042fc90 live placed-structure mutator iterating 0x0062b26c through 0x0040c990, optional owner-company match [site+0x276], and row vtable slot +0x70".to_string(),
|
||||||
"0x0047fd50 linked-peer candidate-class gate returning true only for class-byte values 0/1/2 at [candidate+0x8c]".to_string(),
|
"0x0047fd50 linked-peer candidate-class gate returning true only for class-byte values 0/1/2 at [candidate+0x8c]".to_string(),
|
||||||
"0x004131f0 / 0x00412fb0 / 0x004120b0 / 0x00412ab0 aux-candidate load and stem-policy chain owning subtype byte [candidate+0x32]".to_string(),
|
"0x004131f0 / 0x00412fb0 / 0x004120b0 / 0x00412ab0 aux-candidate load and stem-policy chain owning subtype byte [candidate+0x32]".to_string(),
|
||||||
"0x0040dc40 station-detail linked-site mutation validator/apply path consuming [site+0x276], candidate field [candidate+0x22], and company stat-family 0x2329/0x0d"
|
"0x0040dc40 station-detail linked-site mutation validator/apply path consuming [site+0x276], candidate field [candidate+0x22], and company stat-family 0x2329/0x0d"
|
||||||
|
|
@ -4784,7 +4790,7 @@ fn build_periodic_company_service_trace_report(
|
||||||
let next_owner_questions = vec![
|
let next_owner_questions = vec![
|
||||||
"Which persisted placed-structure and city-or-region linkage fields are still missing for a shellless 0x004014b0 implementation once the peer-site restore subset, company route-anchor tuple, [site+0x276] live owner meaning, and candidate subtype owner strip are accepted as grounded?".to_string(),
|
"Which persisted placed-structure and city-or-region linkage fields are still missing for a shellless 0x004014b0 implementation once the peer-site restore subset, company route-anchor tuple, [site+0x276] live owner meaning, and candidate subtype owner strip are accepted as grounded?".to_string(),
|
||||||
"How much of the linked-peer refresh path is strictly post-load versus recurring runtime maintenance now that 0x004133b0 reaches 0x0040ee10 -> 0x0040edf6 -> 0x00480710 during bring-up and 0x004160aa also re-enters 0x0040ee10 later?".to_string(),
|
"How much of the linked-peer refresh path is strictly post-load versus recurring runtime maintenance now that 0x004133b0 reaches 0x0040ee10 -> 0x0040edf6 -> 0x00480710 during bring-up and 0x004160aa also re-enters 0x0040ee10 later?".to_string(),
|
||||||
"Which later save payload or restore owner rehydrates the remaining placed-structure-side 0x004014b0 inputs [site+0x276] and [site+0x310/+0x338/+0x360] once [site+0x2a4] is treated as reconstructible from collection identity and peer/company inputs are accepted as grounded?".to_string(),
|
"Which later save payload or restore owner rehydrates the remaining placed-structure-side 0x004014b0 inputs [site+0x276] and [site+0x310/+0x338/+0x360] once [site+0x2a4] is treated as reconstructible from collection identity, the replay strip is ruled down, and the 0x00431b20 grouped opcode dispatcher is treated as a live application owner rather than a restore seam?".to_string(),
|
||||||
"Which infrastructure consumer above the grounded 0x38a5 seam actually drives the linked-transit branch that 0x00409950 follows?".to_string(),
|
"Which infrastructure consumer above the grounded 0x38a5 seam actually drives the linked-transit branch that 0x00409950 follows?".to_string(),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -27960,7 +27966,7 @@ mod tests {
|
||||||
let trace = build_periodic_company_service_trace_report(&analysis);
|
let trace = build_periodic_company_service_trace_report(&analysis);
|
||||||
assert_eq!(trace.selected_company_id, Some(7));
|
assert_eq!(trace.selected_company_id, Some(7));
|
||||||
assert_eq!(trace.atlas_candidate_consumers.len(), 9);
|
assert_eq!(trace.atlas_candidate_consumers.len(), 9);
|
||||||
assert_eq!(trace.known_bridge_helpers.len(), 57);
|
assert_eq!(trace.known_bridge_helpers.len(), 59);
|
||||||
assert_eq!(trace.next_owner_questions.len(), 4);
|
assert_eq!(trace.next_owner_questions.len(), 4);
|
||||||
assert_eq!(trace.companies.len(), 1);
|
assert_eq!(trace.companies.len(), 1);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
|
|
@ -28127,7 +28133,7 @@ mod tests {
|
||||||
trace
|
trace
|
||||||
.near_city_acquisition_runtime_backed_input_families
|
.near_city_acquisition_runtime_backed_input_families
|
||||||
.len(),
|
.len(),
|
||||||
13
|
14
|
||||||
);
|
);
|
||||||
assert_eq!(trace.near_city_acquisition_remaining_owner_gaps.len(), 2);
|
assert_eq!(trace.near_city_acquisition_remaining_owner_gaps.len(), 2);
|
||||||
assert_eq!(trace.near_city_acquisition_region_lane_statuses.len(), 4);
|
assert_eq!(trace.near_city_acquisition_region_lane_statuses.len(), 4);
|
||||||
|
|
@ -28231,6 +28237,14 @@ mod tests {
|
||||||
.any(|line| line
|
.any(|line| line
|
||||||
.contains("0x00402cb0 -> 0x00403ed5/0x0040446b -> 0x004134d0 -> 0x0040ef10"))
|
.contains("0x00402cb0 -> 0x00403ed5/0x0040446b -> 0x004134d0 -> 0x0040ef10"))
|
||||||
);
|
);
|
||||||
|
assert!(
|
||||||
|
trace
|
||||||
|
.near_city_acquisition_runtime_backed_input_families
|
||||||
|
.iter()
|
||||||
|
.any(|line| line.contains("0x00431b20")
|
||||||
|
&& line.contains("0x0061039c")
|
||||||
|
&& line.contains("0x00430040 / 0x00426d60 / 0x0042fc90"))
|
||||||
|
);
|
||||||
assert!(
|
assert!(
|
||||||
trace
|
trace
|
||||||
.near_city_acquisition_runtime_backed_input_families
|
.near_city_acquisition_runtime_backed_input_families
|
||||||
|
|
@ -28388,6 +28402,25 @@ mod tests {
|
||||||
.any(|line| line.contains("0x00430040..0x004300d6")
|
.any(|line| line.contains("0x00430040..0x004300d6")
|
||||||
&& line.contains("0x09/0x0b/0x0c"))
|
&& line.contains("0x09/0x0b/0x0c"))
|
||||||
);
|
);
|
||||||
|
assert!(
|
||||||
|
trace
|
||||||
|
.known_bridge_helpers
|
||||||
|
.iter()
|
||||||
|
.any(|line| line.contains("0x00431b20")
|
||||||
|
&& line.contains("0x0061039c")
|
||||||
|
&& line.contains("0x00430040")
|
||||||
|
&& line.contains("0x00426d60")
|
||||||
|
&& line.contains("0x0042fc90"))
|
||||||
|
);
|
||||||
|
assert!(
|
||||||
|
trace
|
||||||
|
.known_bridge_helpers
|
||||||
|
.iter()
|
||||||
|
.any(|line| line.contains("0x0042fc90")
|
||||||
|
&& line.contains("0x0062b26c")
|
||||||
|
&& line.contains("[site+0x276]")
|
||||||
|
&& line.contains("vtable slot +0x70"))
|
||||||
|
);
|
||||||
assert!(
|
assert!(
|
||||||
trace
|
trace
|
||||||
.known_bridge_helpers
|
.known_bridge_helpers
|
||||||
|
|
|
||||||
|
|
@ -142,6 +142,15 @@ Working rule:
|
||||||
`0x004269b0 / 0x00426a10`, the create-side `0x0040ef10 / 0x0040f6d0` strip, and the bulk
|
`0x004269b0 / 0x00426a10`, the create-side `0x0040ef10 / 0x0040f6d0` strip, and the bulk
|
||||||
reassignment families `0x00426dce..0x00426ea1` and `0x00430040..0x004300d6`, not under the
|
reassignment families `0x00426dce..0x00426ea1` and `0x00430040..0x004300d6`, not under the
|
||||||
known `0x00444690 -> 0x004133b0 -> 0x0040ee10` replay strip
|
known `0x00444690 -> 0x004133b0 -> 0x0040ee10` replay strip
|
||||||
|
- the same write side is now grounded one level higher too:
|
||||||
|
direct local control-flow reconstruction shows those families hanging under the grouped opcode
|
||||||
|
dispatcher `0x00431b20` over `0x0061039c`, with opcodes `0x04..0x07` dispatching to
|
||||||
|
`0x00430040`, opcodes `0x08/0x10..0x13` dispatching to `0x00426d60`, and opcodes
|
||||||
|
`0x0d/0x16` dispatching to `0x0042fc90`
|
||||||
|
- `0x0042fc90` itself is now ruled onto the live mutation side too:
|
||||||
|
it iterates the live placed-structure collection `0x0062b26c`, filters rows through
|
||||||
|
`0x0040c990`, optional owner-company match `[site+0x276]`, and row vtable slot `+0x70`,
|
||||||
|
which keeps that branch on the live application side rather than replay
|
||||||
- the create-side family is grounded separately too:
|
- the create-side family is grounded separately too:
|
||||||
city-connection direct placement already reaches
|
city-connection direct placement already reaches
|
||||||
`0x00402cb0 -> 0x00403ed5/0x0040446b -> 0x004134d0 -> 0x0040ef10`
|
`0x00402cb0 -> 0x00403ed5/0x0040446b -> 0x004134d0 -> 0x0040ef10`
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue