fix(gc): implement better way to handle root overload in inc_non_root_count#4936
fix(gc): implement better way to handle root overload in inc_non_root_count#4936jedel1043 merged 2 commits intoboa-dev:mainfrom
inc_non_root_count#4936Conversation
Test262 conformance changes
Tested main commit: |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4936 +/- ##
===========================================
+ Coverage 47.24% 59.06% +11.82%
===========================================
Files 476 563 +87
Lines 46892 62365 +15473
===========================================
+ Hits 22154 36837 +14683
- Misses 24738 25528 +790 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Well that would make it so that we underflow after all references get dropped. right? Then we're patching one panic with another one |
oh yes, missed that 😅 let me look into this more carefully |
dd01454 to
ff6e1bf
Compare
inc_non_root_count
|
I have capped |
jedel1043
left a comment
There was a problem hiding this comment.
Looks reasonable. Thank you for fixing the TODO
|
Ping me after you address the CI errors so that I can merge |
Head branch was pushed to by a user without write access
e58da2a to
fdb6cad
Compare
@jedel1043 fixed the CI, ready for merge |
It changes the following:
saturating at
NON_ROOTS_MAXpins the counter instead of panicking. pinned counter returns true foris_rootedso the object is kept alive rather than freed, a leak is safer than a UAF anyways. The limit ~2^31 heap references to one object is unreachable in practice