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(
|
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(),
|
"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 {
|
if records_with_trigger_kind != 0 {
|
||||||
control_lane_notes.push(format!(
|
control_lane_notes.push(format!(
|
||||||
|
|
@ -9778,6 +9781,9 @@ fn parse_nondirect_event_runtime_record_summary(
|
||||||
notes.push(
|
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(),
|
"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);
|
let decoded_conditions = decode_real_condition_rows(&standalone_condition_rows, None);
|
||||||
|
|
||||||
|
|
@ -22326,6 +22332,9 @@ mod tests {
|
||||||
.iter()
|
.iter()
|
||||||
.any(|line| { line.contains("0x0042db20 allocates linked 0x1e/0x28 row nodes") })
|
.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| {
|
assert!(summary.control_lane_notes.iter().any(|line| {
|
||||||
line.contains("0x00431b20 dispatch-strip opcodes present in decoded grouped rows = [4]")
|
line.contains("0x00431b20 dispatch-strip opcodes present in decoded grouped rows = [4]")
|
||||||
}));
|
}));
|
||||||
|
|
@ -22359,6 +22368,9 @@ mod tests {
|
||||||
.iter()
|
.iter()
|
||||||
.any(|line| { line.contains("does not materialize the compact control lane") })
|
.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!(
|
assert!(
|
||||||
record
|
record
|
||||||
.notes
|
.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
|
`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
|
“do ordinary loaded rows reach `0x00431b20`?”; it is “where is trigger-kind represented or
|
||||||
bypassed for those already-decoded ordinary compact rows?”
|
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:
|
- the positive-path caller census is effectively boxed in now too:
|
||||||
direct `0x0040ef10` callers are the create-side pair `0x00403ef3 / 0x00404489`, the transport
|
direct `0x0040ef10` callers are the create-side pair `0x00403ef3 / 0x00404489`, the transport
|
||||||
tuple pair `0x0046f073 / 0x004707ff`, and the already-ruled-down live controller
|
tuple pair `0x0046f073 / 0x004707ff`, and the already-ruled-down live controller
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue