perf(gc): use canonical layout bit in runtime class-field guards - #8076
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThe runtime now validates raw-f64 class-field layouts through canonical typed-layout metadata. Normal guards use the per-object typed-intact bit, while verification mode checks the side table. Tests measure descriptor-query activity. ChangesRaw-f64 class-field layout guards
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to The PR optimizes runtime class-field guards while preserving behavior and adds regression coverage; no actionable merge-blocking risk remains beyond normal checks and review. Possibly related issues
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ 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 |
Summary
Refs #5094.
Performance
With PERRY_DISABLE_CLASS_FIELD_INLINE=1 to force every access through the runtime guard, 09_method_calls improved from a 649 ms median to 425 ms across 10 interleaved runs on a busy arm64 macOS host (1.53x, 34% faster). Output was identical. Normal inline mode is unchanged.
Validation
No version bump.
Summary by CodeRabbit