Repository navigation
Conversation
Continue explicit Perl owner-slot migration (#1649). Preserve weak cleanup while another owner slot is live; add caller alias and weak lifecycle regressions. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <codex@openai.com>
Continue the no-sweeps ownership migration with explicit pad-constant release, untracked caller-cell cleanup, and focused regressions for the interpreter and owner ledger. Generated with [Codex](https://openai.com/codex) Co-Authored-By: OpenAI Codex <openai-codex@users.noreply.github.com>
Document that the positive legacy count in the focused Java regression is seeded to test the ownership boundary; it does not reproduce natural count drift in production. Generated with [Codex](https://openai.com/codex) Co-Authored-By: OpenAI Codex <openai-codex@users.noreply.github.com>
Record the upstream 5.07 full-suite results on system Perl and both sweeps-disabled backends, including the Test::LeakTrace stub limitation. Generated with [Codex](https://openai.com/codex) Co-Authored-By: OpenAI Codex <openai-codex@users.noreply.github.com>
Use direct Perl owner slots to skip an external-root graph query when a cleared aggregate still has an identified owner. Keep the cached compatibility check for ownerless cases and cover the fast path with a query-count test. Generated with [Codex](https://openai.com/codex) Co-Authored-By: OpenAI Codex <openai-codex@users.noreply.github.com>
Add a standard-Perl oracle test for weak observers of an untracked aggregate held by a package array, including unweakened scalar ownership after the package slot is removed. Record the current coverage and migration boundary. Generated with [Codex](https://openai.com/codex) Co-Authored-By: OpenAI Codex <openai-codex@users.noreply.github.com>
Do not treat a positive legacy count as ownership proof after a cleared aggregate's final cell has left. Check live owner identities first, then keep the cached root proof for unmigrated ownership paths. Add a regression for final nested untracked-cell cleanup with a stale positive compatibility count. Generated with [Codex](https://openai.com/codex) Co-Authored-By: OpenAI Codex <openai-codex@users.noreply.github.com>
Record full HTML-Tree, controller, WebSocket, and growing-output results on both backends after the cleared-aggregate owner-identity change. Generated with [Codex](https://openai.com/codex) Co-Authored-By: OpenAI Codex <openai-codex@users.noreply.github.com>
Record weak, destructor, resurrection, and cycle fixture results after the cleared-aggregate owner-identity fix. Generated with [Codex](https://openai.com/codex) Co-Authored-By: OpenAI Codex <openai-codex@users.noreply.github.com>
Track queued owner-release tokens until their deferred count transition completes. Cleared-aggregate scope cleanup now leaves those transitions to the release queue instead of finalizing early after the active slot is retired. Add coverage for the queued counted-owner path and document the synthetic legacy-count invariant separately. Generated with [Codex](https://openai.com/codex) Co-Authored-By: OpenAI Codex <openai-codex@users.noreply.github.com>
10 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Continue the explicit owner-slot migration across #1649, #1618, and #1860.
This draft carries the no-sweeps ownership work, including exact owner identities, caller argument cell aliasing, weakly tracked cleanup that respects surviving owner slots, and interpreter pad-constant ownership. It is related to draft #1816, which carries the earlier Mojolicious/Catalyst controller and WebSocket lifetime work.
The interpreter materialization fix transfers pad constants from the temporary executable wrapper to the published Perl-owned CV. The focused code-pad final-slot regression seeds a positive legacy count to verify that owner identities can release the final slot; this is an invariant test and does not claim to reproduce natural count drift. The separate nested untracked-owner test has a real counted scalar owner (
refCount == 1) and verifies that final-cell cleanup retires the nested edge without disturbing that independent owner.The cleared-aggregate scope-exit path now checks direct Perl owner identities before using the cached external-root compatibility query. The fallback remains for ownerless cases that have not yet migrated. Queued owner releases now remain visible through their deferred count transition, so scope-exit finalization cannot race a release already in flight.
Validation on this update:
nice -n 19 make— passed in 7m38s; includes the package-root, cleared-aggregate, and queued owner-release regressions.ClearedAggregateOwnerIdentityFinalizationTest— passed; live package-owner identity avoided external-root queries and snapshots.t/refloop.tpasses 8/8 on all three runtimes.issue_1649_package_nested_untracked_weak_owner.t; system Perl, JVM, and interpreter each pass 7/7 with corrective sweeps disabled.lychee --offline dev/design/perl-ownership-rewrite.md— passed (14 links).nice -n 19 make check-links— passed (791 links checked, 0 errors).The ownership rewrite remains in progress. Remaining work includes the package-root compatibility pin, remaining reachability and sweep fallbacks, the rest of the ownership families, then rerun the HTML-Tree suite after those changes. Keep this PR in draft while those paths are migrated and validated.
This snapshot starts at
4d5e0841e1147231314cfec0752096fd1f381d75; GitHub master has advanced since then. Upstream integration and merge-conflict review remain before this draft can be considered merge-ready.