Skip to content

Memory Reference Table and Function Ownership

Codex edited this page Oct 10, 2026 · 1 revision

Bounded table-access and function-byte ownership follow-up

Scope and result

This follow-up uses the same authorized Complex4627 RAM snapshots, retained decode ledger and two ordered block-entry traces used by the previous addenda. It adds no firmware image, rig access, live test, product-source inspection, implementation or performance claim. Shared material contains original numeric metadata and anonymous identifiers. Reference instructions, private strings, table contents, target lists and control-flow graphs are withheld.

The decisive additions are:

  • Four additional local indexed-access bounds, bringing the total to six candidates / 152 distinct access-window bytes.
  • Evidence that an additional, unbounded consumer of table_candidate_002 appears during startup even though that consumer's instruction address is absent from the block-entry trace.
  • A disjoint partition of inferred decoded bytes by public versus anonymous entry origin, preserving shared bytes once.

No exact private table object size or universally unused function is newly proved. The retained executable-flag section still contains 56,153 semantically unclassified bytes. No page or object is recommended for removal from the reference or the owned implementation based on this pass.

Reviewed owned-project context

Before this pass, the investigator read the current memory discussion in issue #106 and draft #131. The reviewed public main was d4350b603452e029d0862fb48e7d4907e489e8ef; #131 was at 7d648032ad901e3d45adcd713f388afff5a6044a.

The draft's native post-activity result is 100 KiB less retained pool storage, while its isolated burst timings regress by 20.90%, 121.25% and 249.37% for the reported size classes. Those are separate retention-versus-rebuild observations, not a reference-firmware explanation or a game-FPS claim. This context reinforces measuring lifetimes and physical retention separately from nominal function size. PR #131, reviewed issue #106 update.

The newer owned-image expansion announced during this pass is separate work; this follow-up does not recalculate its product ledger.

1. Ten candidate objects remain distinct from six bounded windows

The existing retained set has ten unique candidate starts and twelve indexed consumers. Two candidates have two consumers each; the other eight have one each. Prior alias identifiers do not represent additional physical objects.

Two windows were previously established by local conditional guards. A bounded inspection of the existing predecessor records establishes four additional 16-byte / four-slot local windows. For each new window, the most recent captured full-index definition constrains that local predecessor sequence; no later captured write changes the index before its consumer.

This is a local numeric access bound. It does not prove every alternate entry passes through that definition, all consumers obey the same domain, or the surrounding object ends at the last potentially accessed slot. No reference expression is reproduced.

Anonymous candidate Offset within retained region_00 Indexed consumers Consumers with a local bound Local window bytes Potential four-byte slots Exact object bytes
table_candidate_001 131,408 1 1 76 19 Unknown
table_candidate_002 16,484 2 1 12 3 Unknown
table_candidate_004 121,208 1 1 16 4 Unknown
table_candidate_005 121,100 1 0 Unknown Unknown Unknown
table_candidate_006 120,976 1 1 16 4 Unknown
table_candidate_007 121,224 1 0 Unknown Unknown Unknown
table_candidate_008 121,616 2 1 16 4 Unknown
table_candidate_009 121,536 1 0 Unknown Unknown Unknown
table_candidate_010 121,368 1 1 16 4 Unknown
table_candidate_012 123,776 1 0 Unknown Unknown Unknown
Distinct total 12 6 152 38 Ten unresolved objects

table_candidate_002 and table_candidate_008 each retain another consumer with an unresolved admitted index domain. The other four unresolved candidates have incomplete or insufficient local predecessor evidence. A neighboring candidate start is not an object boundary, and a nearby comparison is not a proved bound on a later adjusted index.

Exact overlap and physical accounting

The six windows do not overlap each other. Their 152-byte union intersects the prior classifications as follows:

Relationship to prior retained-byte ledger Distinct bytes
Inside the prior semantically unknown set 146
Overlaps the prior recursively decoded union 6
Overlaps other prior classifications 0
Window union 152

The overlap is three bytes at table_candidate_006 and three at table_candidate_010. This exposes a classification limit: a recursive decode and a table-access candidate can claim the same bytes. It does not by itself prove which interpretation is correct. The old decoded union therefore remains inferred decoded bytes, rather than a certified code-only inventory. This pass does not silently subtract or reassign those bytes.

Only three unique backing pages contain all six windows. Those pages contain 6,278 other previously decoded bytes outside the windows. The four nearby 16-byte windows occupy the same page. Summing six page intersections would double-count backing; removing a small table would not by itself reclaim any of these pages.

The stronger local evidence covers 58 additional previously unknown byte positions compared with the earlier 88-byte window union. It does not resolve their full object sizes or move them into a certified semantic data category.

2. Ordered traces strengthen observed use without becoming read receipts

The audit examined 35 existing block-entry anchors within a bounded prefix of one of the twelve consumers. It decoded only those prefixes and stopped at the first control transfer; it did not rerun a whole-image decoder or discover another function graph.

For a bounded consumer, the next recorded block entry can be compared privately with targets stored in its local window. Shared output reports only compatible-transition counts and the number of distinguishable potential slots. This is adjacent block-transition compatibility, not a captured table read, index-register value, or physical instruction-fetch receipt. An interrupt, fault, different block termination or a change between image snapshots remains a limitation.

Existing workload Candidate / consumer class Startup prefix entries Runtime prefix entries Compatible startup successors Compatible runtime successors Distinct compatible potential slots
Public-entry guest 002, locally bounded consumer 642 6 642 6 1 in each phase
Pool/thread guest 002, locally bounded consumer 646 22 646 22 1 in each phase
Public-entry guest 002, other unbounded consumer 8 0 Not evaluated Not evaluated Unknown
Pool/thread guest 002, other unbounded consumer 5 0 Not evaluated Not evaluated Unknown
Public-entry guest 001, locally bounded consumer 6 0 6 0 2 during startup
Pool/thread guest 001, locally bounded consumer 6 0 6 0 2 during startup

All evaluated bounded transitions are compatible; none has an incompatible next block or duplicate-target slot ambiguity in the evaluated window. The newly bounded consumers for 004, 006, 008 and 010 have no matching prefix entries in these two traces. That is a coverage result, not an unused-object finding.

The other consumer of 002 has zero exact-consumer-PC entries in both logs but 8 and 5 startup prefix entries, respectively. A block begins earlier and its bounded sequential prefix reaches that consumer. This concretely demonstrates why searching only for a function or consumer address in a block-entry log can miss use. Conversely, a decoded prefix still is not proof that every instruction completed successfully.

For 001, startup use is supported, but last use is unproved. For 002, the bounded runtime observations rule out calling that consumer startup-only in these workloads. Neither result establishes complete title, error, shutdown or reset lifetimes.

3. Disjoint function-byte ownership by entry origin

The previous ledger contains 1,361 entry walks, not 1,361 recovered compiler functions. This pass groups each walk's existing instruction-byte positions by whether its entry is a public callable export or an anonymous inferred entry. Shared positions are charged once.

Inferred byte ownership Retained region_00 Discardable region_04
Public-entry walks only 40,286 0
Anonymous-entry walks only 54,323 125,804
Both public and anonymous entry walks 117 0
Disjoint decoded-byte union 94,726 125,804

A public entry's reachable walk does not include every separately called helper. Accordingly the 40,403-byte retained public-walk union is not the resident footprint of the complete public ABI; internal helpers can reside in the anonymous group. Nor does an anonymous origin mean its bytes are private to one function or unreachable from public APIs.

A second disjoint partition groups walk origins by the section containing their entry:

Entry-section origin of inferred byte ownership Retained region_00 Discardable region_04
Retained-entry walks only 94,661 288
Discardable-entry walks only 0 125,516
Both retained and discardable entry walks 65 0
Disjoint decoded-byte union 94,726 125,804

The 65 shared retained bytes and 288 discardable bytes reached by retained-entry walks demonstrate that section membership and inferred reachability are different relationships. They do not prove a runtime invocation after discard. Cross-section decode reachability can be startup-only, conservatively inferred or unresolved at an indirect boundary.

No inferred minimum/maximum address envelope becomes a function size here. The previous shared-tail, interior-entry and unresolved-indirect warnings still apply. True compiler boundaries, separate helper costs and complete last-use relationships remain unavailable from these artifacts.

4. Reconciliation: no invented code/data or savings total

The retained region_00 partition remains:

Existing disjoint accounting Bytes
Prior recursive decoded-byte union 94,726
Fixed export directory 40
Public function-address array 1,464
Format-proved module-name record 13
Previously added trace-anchored decoded prefixes 740
Semantically unclassified remainder 56,153
Retained section total 153,136

The 146 unknown bytes covered by the new window evidence remain inside the 56,153-byte remainder. The other 56,007 unknown bytes are outside those local windows. The six decoded-overlap bytes remain in the existing decode union. Thus neither 152 nor 146 is added to the retained section or counted as new memory savings.

The physical image result is unchanged at 45 unique pages / 184,320 bytes. No exact reference allocation size, lifetime, peak usage or reclaimable page count changes in this pass.

5. Evidence that would resolve the remaining gaps

Unresolved question Required observation
Exact extent of each of ten candidate objects Independent format/allocation boundary, or complete validated consumer-domain evidence; observed accesses alone establish only a lower bound
All admitted domains of candidates 002 and 008 Index and access-width receipts for each consumer, with its applicable entry/guard context; one bounded consumer cannot stand in for the other
Domains for 005, 007, 009 and 012 Complete local producer/guard relationship or bounded runtime index receipts; do not infer an extent from neighboring addresses
Six-byte decode/window overlap Actual instruction-fetch identity and table-read identity at those positions, or a trusted independent object boundary
Table last use and discard safety Bounded access observations spanning startup, representative title activity, errors, shutdown and reset, plus callback/reference ownership analysis
Compiler function sizes and exclusive ownership Trusted symbols/object boundaries or independently validated entry/return observations; address envelopes and byte-walk unions are insufficient
Runtime direct-ROM calls Per-event physical instruction-fetch backing or mapping-epoch identity, including translated-block reuse; distinguish instruction fetch from ROM data reads
Whether an unobserved range is unused A demonstrated absence of reachable consumers across the supported contract, not merely absence from these two traces

There is no new ROM-execution evidence in this follow-up. The earlier two mapping epochs, four known lower aliases, 57 startup direct-ROM PCs / 27,655 entries, and zero observed runtime direct-ROM entries retain their existing coverage limits. These logs lack per-event physical fetch or complete mapping history. They cannot establish that runtime executes from ROM, or rule it out through an unobserved transient alias or untested path.

Machine-readable artifacts

  • table-access-and-function-ownership.json: complete original numeric reconciliation and evidence limits.
  • retained-table-candidate-lifetimes.csv: all ten candidates, consumer counts, local windows and bounded startup/runtime prefix observations.
  • table-access-local-windows.csv: six disjoint local windows, overlap counts and page co-tenancy.
  • table-access-trace-relationships.csv: all twelve consumers, both workloads and both phases, including zero observations.

The original investigator-only script remains in the private research directory. Its shared outputs contain no reference contents or expression. This bounded pass is complete; no background capture or analysis process remains running.

SpiritBoot reference

Internal contracts

BIOS sizes and layouts

Resident memory research

Retail 5838 and current main sizing update — 2026-10-10

Memory removal workbook and kernel overhaul

Clone this wiki locally