Tighten placed-structure restore versus finalize split
This commit is contained in:
parent
32e7d797fe
commit
72fe1f3a5f
2 changed files with 29 additions and 8 deletions
|
|
@ -332,6 +332,23 @@ Working rule:
|
|||
restore calls that are sufficient to repopulate `[site+0x276]` for shellless acquisition; the
|
||||
remaining runtime-effect subquestion is now which loaded kind-`8` rows can carry the
|
||||
placed-structure mutation opcodes rather than whether kind `8` is synthetic
|
||||
- the ordinary restore-vs-finalize split is tighter now too:
|
||||
direct disassembly shows `0x00413280` stream-loading `0x36b1/0x36b2/0x36b3` through per-entry
|
||||
vtable slot `+0x40`, and `0x00444690` simply enters `0x004133b0` before continuing into later
|
||||
grid/world refresh owners; neither ordinary bring-up owner re-enters
|
||||
`0x004134d0 / 0x0040f6d0 / 0x0040ef10` for already-restored rows. The positive
|
||||
`[site+0x276]` store at `0x0040f5d4` therefore remains grounded only on explicit tuple/create
|
||||
paths, so the next non-hook pass should look for a non-transport persisted tuple family or a
|
||||
later ordinary restore owner rather than another generic replay scan.
|
||||
- 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
|
||||
`0x005098eb`; direct `0x004134d0` callers are the create-side pair `0x00403ed5 / 0x0040446b`,
|
||||
the transport-side pair `0x0046efbf / 0x0047074b`, the counted transport builders
|
||||
`0x00472bef / 0x00472d03`, plus live/controller callers `0x00422bb4` and `0x00508fd1`.
|
||||
That means the still-missing owner seam is no longer “find another obvious constructor/finalize
|
||||
caller”; it is specifically a non-transport persisted tuple family or a later ordinary restore
|
||||
owner outside this boxed caller set.
|
||||
- the second is narrower in the same way:
|
||||
the checked-in `0x36b1/0x36b2/0x36b3` triplet seam and the
|
||||
`0x4a9d/0x4a3a/0x4a3b` side-buffer seam still do not serialize `[site+0x310/+0x338/+0x360]`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue