Repository navigation
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Share repeated guards and exact residual states without a source-pattern whitelist or union-layout prediction. Preserve action ownership, source lambda boundaries, recursive initialization and original method continuations. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep the actual MatchBuilder target index with the incomplete clause instead of assuming it follows the source clauses. Reuse that clause for its bindings and guard. Add baseline guarded-match regressions using the existing templated fixtures. Leave generic guard and action sharing, and its dependent coverage, in the upper layer. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep separate typed identity tables and their growth schedules. Reuse the existing test execution helper without changing the harness's real-signature mode. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep the four typed memo tables in optional struct state. Simple matches and diagnostic passes now use the existing disabled path without constructing unused sharing caches. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Use the existing BCL struct tuple for the four distinct dictionary roles. This retains disabled-path allocation savings without emitting a public anonymous-record type. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Call the existing frontier investigator directly on disabled paths. Keep the enabled memoization path and its defensive fallback unchanged. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Use an ordinary option around the existing struct tuple. Disabled matches still allocate no memo state; recursive calls pass one reference instead of copying the wide value option. Enabled matches add one Some cell. This is a measured exception to the usual value-option preference. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Reuse the narrow correction from 84140c45554fc2a9b2ec38750af0a74508c601cc. All 31 current determinism cases pass without changing compiler behavior or test assertions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Avoid structural equality in per-clause producer setup. Keep the existing allocation and join mechanisms unchanged. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Reuse ExistsExpr, route promotion through the existing memo dispatcher, keep main's clause-group shape, and drop redundant annotations, comments and opens. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Share the context fixture for the growth case, inline single-use fixtures, and table the option matrices. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Drop the --tokenize-debug option, its TokenizeOption case and the 102 offside-rule trace statements. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The token-specific balancing clauses now end their own match, so the stack-only offside rules are no longer copied into every token branch. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Stop the jump table at the highest tested tag, and use compare-and-branch for up to four sparse tags. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
✅ No release notes required |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This branch has not been deployed
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.
Description
Fixes #20632
LexFilter.hwTokenFetchruns for every token the parser reads. At 110 KB of IL it was too large for the JIT to optimize. Three changes:whenguard reached from several decision paths is compiled once as a helper. A repeated rest-of-match is compiled once and reached by a branch in the same method. Guard order and count, active-pattern calls, mutable state, tail calls, quotations and debug points do not change.--tokenize-debugswitch and its 102 trace statements. End the balancing-rulematchso the offside rules compile once, not once per token kind.hwTokenFetch20 randomized fresh-process pairs per row, ReadyToRun off, ratio of medians, 95% bootstrap interval. Parse allocations are unchanged.
Checklist