![electron-roller[bot]](/assets/img/avatar_default.png)
* chore: bump node in DEPS to v20.10.0
* chore: update feat_initialize_asar_support.patch
no code changes; patch just needed an update due to nearby upstream changes
Xref: https://github.com/nodejs/node/pull/49986
* chore: update pass_all_globals_through_require.patch
no manual changes; patch applied with fuzz
Xref: https://github.com/nodejs/node/pull/49657
* chore: update refactor_allow_embedder_overriding_of_internal_fs_calls
Xref: https://github.com/nodejs/node/pull/49912
no code changes; patch just needed an update due to nearby upstream changes
* chore: update chore_allow_the_node_entrypoint_to_be_a_builtin_module.patch
Xref: https://github.com/nodejs/node/pull/49986
minor manual changes needed to sync with upstream change
* update fix_expose_the_built-in_electron_module_via_the_esm_loader.patch
Xref: https://github.com/nodejs/node/pull/50096
Xref: https://github.com/nodejs/node/pull/50314
in lib/internal/modules/esm/load.js, update the code that checks for
`format === 'electron'`. I'd like 👀 on this
Xref: https://github.com/nodejs/node/pull/49657
add braces in lib/internal/modules/esm/translators.js to sync with upstream
* fix: lazyload fs in esm loaders to apply asar patches
* https://github.com/nodejs/node/pull/50127
* https://github.com/nodejs/node/pull/50096
* esm: jsdoc for modules code
https://github.com/nodejs/node/pull/49523
* test: set test-cli-node-options as flaky
https://github.com/nodejs/node/pull/50296
* deps: update c-ares to 1.20.1
https://github.com/nodejs/node/pull/50082
* esm: bypass CommonJS loader under --default-type=module
https://github.com/nodejs/node/pull/49986
* deps: update uvwasi to 0.0.19
https://github.com/nodejs/node/pull/49908
* lib,test: do not hardcode Buffer.kMaxLength
https://github.com/nodejs/node/pull/49876
* crypto: account for disabled SharedArrayBuffer
https://github.com/nodejs/node/pull/50034
* test: fix edge snapshot stack traces
https://github.com/nodejs/node/pull/49659
* src: generate snapshot with --predictable
https://github.com/nodejs/node/pull/48749
* chore: fixup patch indices
* fs: throw errors from sync branches instead of separate implementations
https://github.com/nodejs/node/pull/49913
* crypto: ensure valid point on elliptic curve in SubtleCrypto.importKey
https://github.com/nodejs/node/pull/50234
* esm: detect ESM syntax in ambiguous JavaScrip
https://github.com/nodejs/node/pull/50096
* fixup! test: fix edge snapshot stack traces
* esm: unflag extensionless ES module JavaScript and Wasm in module scope
https://github.com/nodejs/node/pull/49974
* [tagged-ptr] Arrowify objects
4705331
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
38 lines
1.6 KiB
Diff
38 lines
1.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Shelley Vohr <shelley.vohr@gmail.com>
|
|
Date: Thu, 16 Nov 2023 16:48:10 +0100
|
|
Subject: feat: optionally prevent calling V8::EnableWebAssemblyTrapHandler
|
|
|
|
V8::EnableWebAssemblyTrapHandler can be called only once or it will
|
|
hard crash. We need to prevent Node.js calling it in the event it has
|
|
already been called.
|
|
|
|
This should be upstreamed.
|
|
|
|
diff --git a/src/node.cc b/src/node.cc
|
|
index a9336a14304fc673c02ae5b7e5ca82aec9fa6697..7a6a9cdddf00c91612c2bcabf40a5c4af16424df 100644
|
|
--- a/src/node.cc
|
|
+++ b/src/node.cc
|
|
@@ -605,6 +605,7 @@ static void PlatformInit(ProcessInitializationFlags::Flags flags) {
|
|
#endif
|
|
}
|
|
#endif // defined(_WIN32)
|
|
+ if (!(flags & ProcessInitializationFlags::kNoEnableWasmTrapHandler))
|
|
V8::EnableWebAssemblyTrapHandler(false);
|
|
#endif // NODE_USE_V8_WASM_TRAP_HANDLER
|
|
}
|
|
diff --git a/src/node.h b/src/node.h
|
|
index a512d2228e0afcfff765c3fe845e1f22073047d0..36da93a7b41ea450a5f288ec17b61adae46ae178 100644
|
|
--- a/src/node.h
|
|
+++ b/src/node.h
|
|
@@ -274,6 +274,10 @@ enum Flags : uint32_t {
|
|
kNoInitializeCppgc = 1 << 13,
|
|
// Initialize the process for predictable snapshot generation.
|
|
kGeneratePredictableSnapshot = 1 << 14,
|
|
+ // Do not initialize the Web Assembly trap handler. This is used by
|
|
+ // embedders to account for the case where it may already have been
|
|
+ // initialized - calling it more than once will hard crash.
|
|
+ kNoEnableWasmTrapHandler = 1 << 15,
|
|
|
|
// Emulate the behavior of InitializeNodeWithArgs() when passing
|
|
// a flags argument to the InitializeOncePerProcess() replacement
|