Keep strict arguments descriptors in object slots (integrates #11711) - #11735
proggeramlug wants to merge 8 commits into
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 6 remain after this review. 📝 WalkthroughWalkthroughRestricted arguments-object construction stores the ChangesStrict arguments descriptors
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The strict arguments descriptor changes are consistent with accessor lookup and moving-GC preservation. Mergeable subject to normal build and test checks. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to No concrete new security weakness was identified. The inspected changes preserve the restricted property’s controls and object isolation, but complete validation of the memory-management change remains pending. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 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 |
Strict escaping
argumentsobjects keeplengthand restrictedcalleeattributes in the shared key layout, with the thrower accessor in the object's own slot. Construction no longer populates address-keyed property and accessor descriptor tables. This integrates #11711 while preserving its contributor history and leaving the fork untouched.Current head
3d6e8395c26ade96f46842a66935c9f192eebde9cleanly merges main41c38ed36f9d60cd2883e7cab91c253cab2666da, including the landed Script-reflection fixture repair, coherent SWC/dependency updates, require-provider setup, and bounded GC diagnostic census. The actual merge tree equals the automatic merge tree. All Cargo manifests, lockfile and Cargo configuration match main; the remaining main-relative change contains only three strict-arguments runtime/test files and its changeset.Validation at this refreshed head:
The full current-head script lint replay finished: 110 of 111 executable commands passed; only the grandfathered Public benchmark evidence freshness check failed. The compile tier and two CI-only commands were explicitly skipped; the separate locked three-package check above passed. New-head product execution is not claimed; current hosted CI remains required.
The old head's CI cargo-test failure in
reflected_script_var_gets_an_early_nonconfigurable_global_slotis addressed by main's process-isolated Script opt-in fixture repair. Its original assertions remain intact. Old-head whole GC successes do not approve this refreshed head: both successful current-head root-dominance jobs and remaining CI acceptance are required.Historical validation at
9522505a26db2b13ff128275ea5071b0114a4e6d: coherent release compiler and both static libraries built; three compiled arguments integration tests and the strict-callee Node 26.5.1 comparison passed; all eleven serial arguments-object units passed. Full script lint completed 110/111 executable checks, failing only benchmark freshness; compile tier and two CI-only commands were explicitly skipped. These are historical results, not new-head product, full-lint or hosted CI approval.Refs #10509. This lands the descriptor-storage portion; full performance acceptance remains unproven. Close original #11711 only after verified landing.
Current-head GC acceptance update at
3d6e8395c26ade96f46842a66935c9f192eebde9: both whole jobs succeeded: shadow root dominance and native statepoints root dominance. All executed steps succeeded. Other CI failures and pending jobs still require acceptance; this is not overall merge approval.