Narrow compact event control-lane inheritance
This commit is contained in:
parent
1684ed2709
commit
beb6826bed
2 changed files with 20 additions and 0 deletions
|
|
@ -9520,6 +9520,9 @@ fn parse_event_runtime_collection_summary_with_tag_width(
|
|||
control_lane_notes.push(
|
||||
"direct disassembly now grounds that as a real loader boundary: 0x0042db20 allocates linked 0x1e/0x28 row nodes from the 0x4e9a slice and leaves [event+0x7ee..0x80f] to the separate 0x0042e050 full-event clone path, so missing trigger-kind bytes on this family are not just a parser gap".to_string(),
|
||||
);
|
||||
control_lane_notes.push(
|
||||
"the checked 0x0042e050 caller census is narrow too: current direct caller 0x004dba23 sits under the event-editor duplication path rather than 0x00433130 load, so ordinary 0x4e9a restore is not currently grounded to inherit trigger/control bytes through that deep-copy seam".to_string(),
|
||||
);
|
||||
}
|
||||
if records_with_trigger_kind != 0 {
|
||||
control_lane_notes.push(format!(
|
||||
|
|
@ -9778,6 +9781,9 @@ fn parse_nondirect_event_runtime_record_summary(
|
|||
notes.push(
|
||||
"direct disassembly of 0x0042db20 now grounds that absence too: this loader allocates 0x1e-byte standalone-condition nodes and 0x28-byte grouped-row nodes from the 0x4e9a slice, but does not materialize the compact control lane [event+0x7ee..0x80f] or a trigger-kind byte for this non-direct row family".to_string(),
|
||||
);
|
||||
notes.push(
|
||||
"the adjacent deep-copy seam is bounded too: current direct caller census shows 0x0042e050 reached from editor duplication at 0x004dba23, not from the ordinary 0x00433130 load path, so this non-direct row family is not currently grounded to inherit trigger/control bytes during restore through that helper".to_string(),
|
||||
);
|
||||
|
||||
let decoded_conditions = decode_real_condition_rows(&standalone_condition_rows, None);
|
||||
|
||||
|
|
@ -22326,6 +22332,9 @@ mod tests {
|
|||
.iter()
|
||||
.any(|line| { line.contains("0x0042db20 allocates linked 0x1e/0x28 row nodes") })
|
||||
);
|
||||
assert!(summary.control_lane_notes.iter().any(|line| {
|
||||
line.contains("0x004dba23 sits under the event-editor duplication path")
|
||||
}));
|
||||
assert!(summary.control_lane_notes.iter().any(|line| {
|
||||
line.contains("0x00431b20 dispatch-strip opcodes present in decoded grouped rows = [4]")
|
||||
}));
|
||||
|
|
@ -22359,6 +22368,9 @@ mod tests {
|
|||
.iter()
|
||||
.any(|line| { line.contains("does not materialize the compact control lane") })
|
||||
);
|
||||
assert!(record.notes.iter().any(|line| {
|
||||
line.contains("0x0042e050 reached from editor duplication at 0x004dba23")
|
||||
}));
|
||||
assert!(
|
||||
record
|
||||
.notes
|
||||
|
|
|
|||
|
|
@ -349,6 +349,14 @@ Working rule:
|
|||
`records_with_trigger_kind = 0`. That means the next non-hook pass on this branch is no longer
|
||||
“do ordinary loaded rows reach `0x00431b20`?”; it is “where is trigger-kind represented or
|
||||
bypassed for those already-decoded ordinary compact rows?”
|
||||
- the adjacent control-lane inheritance path is narrower now too:
|
||||
direct disassembly shows `0x0042db20` loading only the linked `0x1e`/`0x28` row bodies from
|
||||
`0x4e9a`, while the separate deep-copy helper `0x0042e050` copies text bands plus the full
|
||||
`[event+0x7ee..0x7fa]` block. Current caller census shows that deep-copy seam reached from the
|
||||
event-editor duplication path at `0x004dba23`, not from the ordinary `0x00433130` restore
|
||||
strip. So the next non-hook question is not “maybe load inherits trigger kind through
|
||||
0x0042e050”; it is which other ordinary owner, if any, seeds `[event+0x7ef]` for these
|
||||
already-decoded non-direct rows.
|
||||
- the positive-path caller census is effectively boxed in now too:
|
||||
direct `0x0040ef10` callers are the create-side pair `0x00403ef3 / 0x00404489`, the transport
|
||||
tuple pair `0x0046f073 / 0x004707ff`, and the already-ruled-down live controller
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue