fix: support for v8.setHeapSnapshotNearHeapLimit api (#45606)

* fix: support for v8.setHeapSnapshotNearHeapLimit api

* docs: add  support
This commit is contained in:
Robo
2025-02-15 01:00:39 +09:00
committed by GitHub
parent a841d6484c
commit 137a552641
10 changed files with 66 additions and 6 deletions

View File

@@ -324,6 +324,7 @@ bool IsAllowedOption(const std::string_view option) {
// This should be aligned with what's possible to set via the process object.
static constexpr auto options = base::MakeFixedFlatSet<std::string_view>({
"--diagnostic-dir",
"--dns-result-order",
"--no-deprecation",
"--throw-deprecation",
@@ -596,6 +597,7 @@ void NodeBindings::Initialize(v8::Local<v8::Context> context) {
std::shared_ptr<node::Environment> NodeBindings::CreateEnvironment(
v8::Local<v8::Context> context,
node::MultiIsolatePlatform* platform,
size_t max_young_generation_size,
std::vector<std::string> args,
std::vector<std::string> exec_args,
std::optional<base::RepeatingCallback<void()>> on_app_code_ready) {
@@ -646,6 +648,7 @@ std::shared_ptr<node::Environment> NodeBindings::CreateEnvironment(
args.insert(args.begin() + 1, init_script);
auto* isolate_data = node::CreateIsolateData(isolate, uv_loop_, platform);
isolate_data->max_young_gen_size = max_young_generation_size;
context->SetAlignedPointerInEmbedderData(kElectronContextEmbedderDataIndex,
static_cast<void*>(isolate_data));
@@ -783,8 +786,10 @@ std::shared_ptr<node::Environment> NodeBindings::CreateEnvironment(
std::shared_ptr<node::Environment> NodeBindings::CreateEnvironment(
v8::Local<v8::Context> context,
node::MultiIsolatePlatform* platform,
size_t max_young_generation_size,
std::optional<base::RepeatingCallback<void()>> on_app_code_ready) {
return CreateEnvironment(context, platform, ElectronCommandLine::AsUtf8(), {},
return CreateEnvironment(context, platform, max_young_generation_size,
ElectronCommandLine::AsUtf8(), {},
on_app_code_ready);
}