Skip to content

fix(gc): root the raw handles #11815/#11843 added - #11861

Merged
proggeramlug merged 2 commits into
mainfrom
fix-raw-handle-11815-11843
Oct 4, 2026
Merged

proggeramlug merged 2 commits into
mainfrom
fix-raw-handle-11815-11843

Conversation

@proggeramlug

@proggeramlug proggeramlug commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

Brings raw_handle_debt back to its baseline for the three files #11815 and #11843 touched (901 → 893; the remaining 22 sites are in promise/then.rs and node_stream_readwrite.rs).

Every pointer is now consumed inside its with_mut_ptr closure by a non-allocating operation, or by one that roots its receiver before allocating. Two raw-pointer returns became handle/NaN-box returns: prototype_from_template returns Option<RuntimeHandle> in the caller's scope, and mint_birth_record returns the boxed value. No behaviour change.

Runtime tests 4837/0 (--test-threads=1); the prototype-in-shape and 11759 gap tests match node.

@proggeramlug
proggeramlug merged commit 6ec32be into main Oct 4, 2026
23 of 24 checks passed
@proggeramlug
proggeramlug deleted the fix-raw-handle-11815-11843 branch October 4, 2026 00:23
@coderabbitai

coderabbitai Bot commented Oct 4, 2026

Copy link
Copy Markdown

Review in Change Stack →

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
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: ad7a91f6-f42f-4ff5-a430-390cc2e0a8a1
📥 Commits

Reviewing files that changed from the base of the PR and between 6235411 and 38e2fec.

📒 Files selected for processing (6)
  • changelog.d/PENDING-raw-handle-11815-11843.md
  • crates/perry-runtime/src/object/class_registry/construct/compiled_function.rs
  • crates/perry-runtime/src/object/class_registry/decl_prototype_birth.rs
  • crates/perry-runtime/src/object/field_get_set/class_object_props.rs
  • crates/perry-runtime/src/object/field_get_set/class_object_template.rs
  • crates/perry-runtime/src/object/field_get_set/class_object_template_tests.rs
 ______________________________________________________________________________________________________________________________________________________
< Why do you need code reviews? dB/dt = ∇ × Bv: The proliferation rate of bugs (dB/dt) equals the curl of the bug vector field (Bv). It's simple math. >
 ------------------------------------------------------------------------------------------------------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

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