Skip to content

docs(plan): supersede the v0.5.1299 construction profile with the v0.5.1325 one (#7578) - #7581

Merged
proggeramlug merged 2 commits into
mainfrom
docs/plan-profile-resync
Aug 7, 2026
Merged

docs(plan): supersede the v0.5.1299 construction profile with the v0.5.1325 one (#7578)#7581
proggeramlug merged 2 commits into
mainfrom
docs/plan-profile-resync

Conversation

@proggeramlug

Copy link
Copy Markdown
Contributor

Docs only. Keeps docs/engine-plan.md true after #7565, #7566, #7515/#7532 and #7579.

Three rows of the #7469 construction decomposition are closed, and the table still presented them as the backlog:

item plan said measured on v0.5.1325 (#7578)
_tlv_get_addr 27.0% 1.0% (closed by #7565)
layout_forget_object 14.5% 1.7–2.9% (closed by #7525/#7532)
write barriers 16.1% ~25%
typed_shape_layout_entry not listed ~25% — the new top lever

Nothing regressed: the survivors grew as shares because everything around them collapsed. The point of the edit is that someone reading the plan for "what to work next" was being pointed at two rows that are now noise.

The new top lever is characterised rather than just named — it is not the ValidateSlots loop (push_cls takes the declare path, confirmed in the emitted IR), so #7515/#7532 are working. It is the install, whose hit path is documented as two header bit-writes, reached through an FFI call whose every argument but the object pointer is a compile-time constant. That is the same shape #7566 just won 1.81× on.

Also records that #7512 is closed by #7515, and why the root cause is worth carrying forward: the dead-field-init elision matched Expr::PropertySet, which the compiler synthesizes for anon-shape literal constructors, while every source-level this.v = v lowers to Expr::PutValueSet. Nothing a user can type produces PropertySet, so the elision was structurally unreachable for the declared class it was documented as covering. An unreachable predicate passes every soundness test there is.

And it flags the one #7578 row that is unexplained, so nobody works it as written: js_array_length at 10–15% against a single call site executing 20,000 times in a 20M-push workload. Both of my isolation attempts failed and are recorded on the issue — varying array size moved the workload into a different GC regime, and a .length-only microbenchmark measured 1.00 ns/iter for both a 1,000- and a 10-element array, which is an empty loop rather than an O(1) proof.

check_file_size.sh clean. No code touched.

…5.1325 one (#7578)

Three rows of the #7469 decomposition are closed. _tlv_get_addr is 1.0% (was
27.0%, #7565) and layout_forget_object 1.7-2.9% (was 14.5%, #7525/#7532);
neither is a lever any more. The new top lever is typed_shape_layout_entry at
~25%, tied with write barriers.

Records that #7512 is closed by #7515 and why the root cause generalises: a
predicate over a synthesized-vs-source IR distinction that matched only the
synthesized form was structurally unreachable for the case it documented.

Flags the one #7578 row that is unexplained (js_array_length) so it is not
worked from as written, with both failed isolation attempts.
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@proggeramlug, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 2 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 6630751e-2280-4c12-9f3f-01be07301379

📥 Commits

Reviewing files that changed from the base of the PR and between 1e971d2 and 4e0e5d5.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (4)
  • CLAUDE.md
  • Cargo.toml
  • changelog.d/7581-plan-profile-resync.md
  • docs/engine-plan.md

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@proggeramlug
proggeramlug merged commit b5c8e9c into main Aug 7, 2026
1 of 12 checks passed
@proggeramlug
proggeramlug deleted the docs/plan-profile-resync branch August 7, 2026 05:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant