perf(codegen): getter arm only for declared getter names; one decline block per untyped index store - #11872
Merged
Conversation
added 3 commits
October 4, 2026 07:47
…mpiled class declares as a getter The read site gets the gating the store site has had since the setter half: the runtime admits a getter entry only for an accessor some compiled class declares, so a read of any other name carried an arm it could never take. The compiled tsc workload drops 7.8 MB (181.5 MB to 173.7 MB). Refs #11784
… runtime block The typed-array tier (#5525) and the Array tier (#10513) of an untyped obj[i] = v each emitted their own decline: the admitted-Uint8Array byte arm (#10515) and the complete [[Set]] call. Both now branch to one block per site. No hit path changes; the compiled tsc workload drops 0.27 MB. Refs #10516
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing (8)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Refs #11784, Refs #10516.
obj[i] = vstore sends both its typed-array tier and its Array tier to one shared fallback block, so the Uint8Array byte arm and the full runtime store are emitted once per site, not twice.Zod, qs, commander and hello are flat, and their output matches node. Matrix (583 cells): per-op averages fall (inherited −11, addkey −2.3); 68 cells are better and 45 worse by 2–6 instructions from register allocation and layout, with the same hit-path work. Runtime 4845/0 (--test-threads=1), codegen tests pass, and the getter/setter/accessor/class gap subset passes 163/163.