Skip to content

docs(changelog): #7013 scalar-replacement root-slot hoist fragment - #7014

Merged
proggeramlug merged 1 commit into
mainfrom
docs/7013-changelog-fragment
Jul 30, 2026
Merged

docs(changelog): #7013 scalar-replacement root-slot hoist fragment#7014
proggeramlug merged 1 commit into
mainfrom
docs/7013-changelog-fragment

Conversation

@proggeramlug

@proggeramlug proggeramlug commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

PR #7013 (perf(gc): bind scalar-replacement root slots once per frame) was
squash-merged from a WIP commit before its changeset fragment was added. This
supplies the missing changelog.d/7013-*.md.

No code change — fragment only.

The fragment records what #7013 did and what backs it:

Summary by CodeRabbit

  • Performance

    • Improved garbage-collection performance by reducing repeated work during memory updates.
  • Bug Fixes

    • Strengthened memory-management correctness when values are initialized and tracked, preventing invalid data from being exposed.
  • Documentation

    • Added changelog details covering performance results, correctness considerations, and validation outcomes.
  • Tests

    • Expanded coverage for memory tracking, barrier behavior, and initialization requirements.

PR #7013 was merged from a WIP commit before its changeset fragment was
added. This supplies it: root cause, the measured 41ms -> ~3ms recovery,
the entry-initialization obligation the hoist creates, and the 440-cell
matrix result.
@coderabbitai

coderabbitai Bot commented Jul 29, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 7af1efe3-2ef8-4394-9d8e-134bb33be414

📥 Commits

Reviewing files that changed from the base of the PR and between df9c7d2 and 3d70bb4.

📒 Files selected for processing (1)
  • changelog.d/7013-hoist-scalar-slot-root-binds.md

📝 Walkthrough

Walkthrough

The changelog documents hoisting scalar-replacement root slot bindings to frame entry, required initialization for previously unwritten allocas, GC validation results, relocation handling, and codegen test coverage.

Changes

Scalar slot root binding

Layer / File(s) Summary
Hoisted binding and initialization contract
changelog.d/7013-hoist-scalar-slot-root-binds.md
Documents entry-time binding, remaining per-store incremental-mark shading, and initialization requirements for hoisted slots.
Validation and test coverage
changelog.d/7013-hoist-scalar-slot-root-binds.md, crates/perry-codegen/tests/scalar_replaced_slot_roots.rs
Records GC matrix results, relocation behavior, and tests covering binding placement and barrier behavior.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Possibly related PRs

  • PerryTS/perry#7007: Adjusts scalar-replacement shadow-slot binding at store sites.
  • PerryTS/perry#7013: Implements the scalar-replacement root-slot hoisting described by this changelog.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description covers the change, but it omits the required Summary/Changes headings, related issue, test plan, and checklist sections. Add the template sections with a brief summary, concrete changes, related issue or n/a, test plan commands, optional screenshots/output, and the checklist items.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and accurately describes the added changelog fragment for the scalar-replacement root-slot hoist.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/7013-changelog-fragment

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 f88e089 into main Jul 30, 2026
32 of 34 checks passed
@proggeramlug
proggeramlug deleted the docs/7013-changelog-fragment branch July 30, 2026 02:14
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