-
Notifications
You must be signed in to change notification settings - Fork 29.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
lib: add WeakRef
and FinalizationRegistry
to primordials
#37263
lib: add WeakRef
and FinalizationRegistry
to primordials
#37263
Conversation
Thanks! Any chance you could also make the (new'ish) weak event handler machinery in event_target use this? (It's the other place I know in the code that uses FinalizationRegistry and WeakRef). |
I wouldn't expect this to work yet. WeakRef can still be disabled with a V8 flag ( |
I might just go change that, moving the error snapshot use instead of creation. |
FWIW, Node.js already fails to start when the
|
@jasnell the issue is that V8 disables flagged globals during snapshot, regardless of whether you expect them to be available later or not. |
I'v e submitted https://chromium-review.googlesource.com/c/v8/v8/+/2741582/ to unblock this. |
@aduh95 cloudflare uses that flag for workers, probably can't land. |
I'd like to talk to the V8 team about a new flag system which allows them to be snapshotted, but they don't seem to care at all about our design constraints or maintaining contact with us so it's been delayed. |
Flag has been removed upstream, I've opened #38162 to test if that makes the tests pass. |
846fc79
to
f98f3b5
Compare
f98f3b5
to
0669710
Compare
Co-authored-by: Antoine du Hamel <[email protected]> PR-URL: nodejs#37263 Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]>
0669710
to
78343bb
Compare
Landed in 78343bb |
This cleans up the two TODOs in:
node/lib/internal/util/iterable_weak_map.js
Lines 11 to 21 in aac2713