Complete Perl ithread lifecycle compatibility - #966
Merged
Conversation
Finish the remaining Perl-compatible ithread ownership and lifecycle work on both execution backends. Preserve END and CLONE_SKIP behavior, weak backrefs, rescued DESTROY graphs, method-return lifetimes, and child CODE/result cleanup across runtime snapshots and joins. Complete shared aggregate proxy lifetime and lexical reassignment semantics, including alias-aware reference counts and B::REFCNT behavior. Keep nested weak cleanup precise enough to preserve rescued DBIx::Class schema graphs while releasing stale storage callback links. Replace the phased concurrency history with the current implementation and release contract. Historical decisions and completed work remain recoverable from this commit and the preceding pull requests; direct regex-language and Joni work remains in the separate Phase 36 project. Validation: - make: green across all unit shards - make check-links: 393 links OK, 0 errors - new system-Perl regressions: 8 files, 26 assertions, PASS - threads/threads-shared/Thread-Queue/Thread-Semaphore: 64 files and 1,891 assertions in each JVM/platform, JVM/virtual, interpreter/platform, and interpreter/virtual configuration - DBIx::Class: 325 files and 42,681 assertions, PASS with --jobs 8 - thread preservation matrix: no timeouts; thread-owned core, Storable, Test2, debug, and property-race gates pass; regex wrappers equal or exceed their same-build direct companions Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <codex@openai.com>
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.
Summary
Validation
make— green across all unit shardsmake check-links— 393 links OK, 0 errorsthreads,threads-shared,Thread-Queue, andThread-Semaphoredistributions — 64 files, 1,891 assertions in each of JVM/platform, JVM/virtual, interpreter/platform, and interpreter/virtual configurations./jcpan --jobs 8 -t DBIx::Class— 325 files, 42,681 assertions, PASSThe final post-rebase
makeand DBIx/distribution gates are rerun against currentorigin/masterbefore this PR is opened.