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
|
Tests are passing :) @ExE-Boss I've forced-pushed to your branch to include the V8 patch, please have a look in case I did something wrong (oh and I added f98f3b551cc5433ba2224178e6f1a03f0af32769, I hope that's OK; if you disagree of course feel free to revert). |
f98f3b5 to
0669710
Compare
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: nodejs#37263 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
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