зеркало из https://github.com/electron/electron.git
chore: enable v8_enable_private_mapping_fork_optimization by default (#39253)
* chore: enable v8_enable_private_mapping_fork_optimization by default * chore: cherry-pick 292a4a6 from v8
This commit is contained in:
Родитель
f369b144d6
Коммит
b5997a012d
|
@ -56,3 +56,7 @@ v8_builtins_profiling_log_file = ""
|
|||
# https://chromium.googlesource.com/chromium/src/+/main/docs/dangling_ptr.md
|
||||
# TODO(vertedinde): hunt down dangling pointers on Linux
|
||||
enable_dangling_raw_ptr_checks = false
|
||||
|
||||
# This flag speeds up the performance of fork/execve on linux systems.
|
||||
# Ref: https://chromium-review.googlesource.com/c/v8/v8/+/4602858
|
||||
v8_enable_private_mapping_fork_optimization = true
|
||||
|
|
|
@ -2,3 +2,4 @@ build_gn.patch
|
|||
do_not_export_private_v8_symbols_on_windows.patch
|
||||
fix_build_deprecated_attribute_for_older_msvc_versions.patch
|
||||
chore_allow_customizing_microtask_policy_per_context.patch
|
||||
fix_compile_error_on_macos_with_fork_optimization.patch
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: deepak1556 <hop2deep@gmail.com>
|
||||
Date: Tue, 15 Aug 2023 23:59:59 +0900
|
||||
Subject: fix: compile error on macOS with
|
||||
v8_enable_private_mapping_fork_optimization=true
|
||||
|
||||
Follow-up to https://chromium-review.googlesource.com/c/v8/v8/+/4602858,
|
||||
we are trying to enable this flag in Electron without any OS conditions in
|
||||
args.gn which results in a compilation failure on macOS due to the lack of MADV_DONTFORK.
|
||||
|
||||
Given that Node.js and Electron both use posix_spawn on macOS which
|
||||
by default does not copy MAP_JIT locations, it would be safe to isolate
|
||||
the change only for linux.
|
||||
|
||||
Change-Id: I58ad50e557016fa573d7a27f33a60e2e5b7d1804
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4780212
|
||||
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
|
||||
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
|
||||
Auto-Submit: Deepak Mohan (Robo) <hop2deep@gmail.com>
|
||||
Cr-Commit-Position: refs/heads/main@{#89557}
|
||||
|
||||
diff --git a/src/base/platform/platform-posix.cc b/src/base/platform/platform-posix.cc
|
||||
index 77fd9e8f6dd5938d38344ffb0074fb70a0969fd9..73cdbdb19df2aecf3046b2bb2b6cb121f4dc5ca7 100644
|
||||
--- a/src/base/platform/platform-posix.cc
|
||||
+++ b/src/base/platform/platform-posix.cc
|
||||
@@ -161,7 +161,7 @@ void* Allocate(void* hint, size_t size, OS::MemoryPermission access,
|
||||
void* result = mmap(hint, size, prot, flags, kMmapFd, kMmapFdOffset);
|
||||
if (result == MAP_FAILED) return nullptr;
|
||||
|
||||
-#if V8_ENABLE_PRIVATE_MAPPING_FORK_OPTIMIZATION
|
||||
+#if V8_OS_LINUX && V8_ENABLE_PRIVATE_MAPPING_FORK_OPTIMIZATION
|
||||
// This is advisory, so we ignore errors.
|
||||
madvise(result, size, MADV_DONTFORK);
|
||||
#endif
|
Загрузка…
Ссылка в новой задаче