Skip to content

[codex] compact generated cycle tracker state - #54

Merged
AGiorgetti merged 1 commit into
developfrom
codex/compact-cycle-tracker-pr
Oct 14, 2026
Merged

AGiorgetti merged 1 commit into
developfrom
codex/compact-cycle-tracker-pr

Conversation

@AGiorgetti

@AGiorgetti AGiorgetti commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Shallow ThrowOnCycle mappings eagerly allocate a HashSet even when only one source is active. Store that first source in one object slot, then promote to reference-identity spill storage for a second simultaneous source and retain it across siblings. Empty/null and reserved sentinel/type-tag sources remain distinct; cycle paths, exception metadata, Enter/finally/Exit cleanup and static generated mapping are unchanged.

Adds focused state, collision, identity, failure cleanup, reentrancy and allocation tests, including both simultaneous null/self orderings. Updates existing storage assertions and records measured performance limits. No public API, consumer-skill contract, benchmark harness, threshold or runtime policy change.

Validation

  • Release solution restore/build: zero warnings/errors. Independent seven-file review: no blocking findings.
  • Final production core tests: 1,056 generator, five runtime and one integration tests pass, zero failures/skips. All 273 selected local package tests also pass, zero failures/skips, including API compatibility, framework/language consumers, samples and trimming. Native AOT and benchmark smoke are the two explicitly excluded local cases. Exact-head CI 38405298319 passed: all 1,337 solution tests on each Windows/Linux host and 1,056 generator tests in each of six Roslyn 4.8/4.14/5.9 jobs, zero failures/skips. The full package suite includes API compatibility, framework/language consumers, trimming, required Native AOT and benchmark smoke. PR merge tree equals the reviewed head tree. The three release-only jobs were skipped by design; no final-version release artifacts or publication were produced.
  • Local benchmark smoke is deferred because its default runner can switch power plans. Native AOT is deferred to the required CI toolchain; MSVC discovery found no local installation. No missing local tools were installed and no persistent machine settings were changed.

Performance and release boundary

On SPECTRE_GRD, tracked depth-1 allocations fell from 232 to 56 B/op; depths 2/16/128 remain 264/1,744/15,528 B/op. The six-pass three-design timing experiment had control drift up to 94.14%, reversed compact/inline-first shallow ordering, and deeper slowdown signals. All four compact/develop gate comparisons blocked. This establishes an allocation improvement, not an overall throughput win or release performance pass; the earlier 3.0.0/develop shallow timing concern remains unresolved. No measurements from other PCs were pooled.

Full raw evidence: compact experiment archive, SHA256 1D78057FA23247A5A3637132A9B9A5FFBE0A4E445C4C7F4A91588EDA6B995F59. Stable same-binary controls and a final-version nonpublishing release rehearsal remain release gates. Draft for human review; no merge, tag or publication is requested.

@AGiorgetti
AGiorgetti marked this pull request as ready for review October 14, 2026 12:04
@AGiorgetti
AGiorgetti merged commit 52fc81d into develop Oct 14, 2026
11 checks passed
@AGiorgetti
AGiorgetti deleted the codex/compact-cycle-tracker-pr branch October 14, 2026 12:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant