Complete threads API and add fresh runtime reset - #956
Merged
Conversation
Emit lexical regex release diagnostics after END in each owning runtime so direct and child debug traces have identical lifecycle boundaries. Model DATA as the source stream positioned after its marker and clone named handles through the established thread resource policies. This completes the Phase 35 stclass gate and restores direct and threaded reg_email coverage on both execution backends. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <codex@openai.com>
Treat (?{ and (??{ as literal text while a regex is inside a lexical
\Q...\E region. This restores pat_re_eval parsing without changing genuine
embedded-code handling outside quoted regions.
Record the remaining match-time regex-code blocker in the concurrency plan.
Generated with [Codex](https://openai.com/codex)
Co-Authored-By: Codex <codex@openai.com>
Advertise the implemented threads 2.43 API after validating its full public method inventory on system Perl and both PerlOnJava backends. Record Phase 40 completion and retain op/threads.t at 30/30. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <codex@openai.com>
Introduce an exclusive reset lifecycle distinct from terminal close. Reject active bindings, compilation, children, shared locks, and waiters; drain END and destruction work; replace every runtime-owned state domain; rebuild standard IO and core globals; and poison the runtime after partial failure. Add JVM/interpreter freshness differentials and lifecycle rejection coverage, and advance the concurrency plan through Phase 41. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <codex@openai.com>
Run regexp_qr_embed_thr in the resource-sensitive serial lane with a 600-second minimum deadline. Avoid quadratic ithread graph growth by cloning only observable named IO handles, while leaving inert parser glob placeholders to be vivified on demand in each child runtime. Add coverage that open named handle aliases still inherit with independent wrapper state while undef placeholders do not inflate snapshots. 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
\Q...\Ethreads2.43 method surfacePerlRuntime.reset()lifecycle with quiescence checks, END/destruction draining, state replacement, IO reconstruction, and failure poisoningValidation
make— PASS after the final commitre/stclass_threads.t— 6/6re/reg_email.t— 13/13 on JVM and interpreterop/threads.t— 30/30./jcpan --jobs 8 -t DBIx::Class— 325 files, 42,671 assertions, PASSRemaining planned work
(?{...})execution and the remaining direct Phase 36 regex-language gapssharesemantics