* chore: bump node in DEPS to v24.11.1 * src: add a default branch for module phase https://github.com/nodejs/node/pull/60261 * src: conditionally disable source phase imports by default https://github.com/nodejs/node/pull/60364 * chore: update patches * src: update locks to use DictionaryTemplate and other minor cleanups https://github.com/nodejs/node/pull/60061 * deps: update simdjson to 4.0.7 https://github.com/nodejs/node/pull/59883 * test: move sea tests into test/sea https://github.com/nodejs/node/pull/60250 * fixup deps: update simdjson to 4.0.7a * src: conditionally disable source phase imports by default https://github.com/nodejs/node/pull/60364 * module: handle null source from async loader hooks in sync hooks https://github.com/nodejs/node/pull/59929 * Revert "src: conditionally disable source phase imports by default" This reverts commit 5f85b84262d8895850272f4d10a9f8dde221a06d. * src: allow disabling JS source phase imports https://github.com/nodejs/node/pull/60364 --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
26 lines
1.1 KiB
Diff
26 lines
1.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Samuel Maddock <smaddock@slack-corp.com>
|
|
Date: Thu, 27 Mar 2025 17:00:11 -0400
|
|
Subject: fix: cppgc initializing twice
|
|
|
|
Refs https://chromium-review.googlesource.com/c/v8/v8/+/6333562
|
|
|
|
cppgc will now be initialized as part of V8::Initialize. For now, skip
|
|
initialization if it's already been initialized.
|
|
|
|
This can be removed/refactored once Node.js upgrades to a version of V8
|
|
containing the above CL.
|
|
|
|
diff --git a/src/node.cc b/src/node.cc
|
|
index 31439d0cc1199d0e0c94c9d616d957610279e01b..d77735f4f5686e914811c0576975b57e6c631398 100644
|
|
--- a/src/node.cc
|
|
+++ b/src/node.cc
|
|
@@ -1248,7 +1248,7 @@ InitializeOncePerProcessInternal(const std::vector<std::string>& args,
|
|
result->platform_ = per_process::v8_platform.Platform();
|
|
}
|
|
|
|
- if (!(flags & ProcessInitializationFlags::kNoInitializeCppgc)) {
|
|
+ if (!(flags & ProcessInitializationFlags::kNoInitializeCppgc) && !cppgc::IsInitialized()) {
|
|
v8::PageAllocator* allocator = nullptr;
|
|
if (result->platform_ != nullptr) {
|
|
allocator = result->platform_->GetPageAllocator();
|