fix: support for v8.setHeapSnapshotNearHeapLimit api (#45632)
* fix: support for v8.setHeapSnapshotNearHeapLimit api Co-authored-by: deepak1556 <hop2deep@gmail.com> * docs: add support Co-authored-by: deepak1556 <hop2deep@gmail.com> --------- Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: deepak1556 <hop2deep@gmail.com>
This commit is contained in:
parent
cf85d2d7c1
commit
fa0da6f19f
10 changed files with 66 additions and 6 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -133,6 +133,7 @@ class NodeBindings {
|
|||
std::shared_ptr<node::Environment> 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 =
|
||||
|
@ -141,6 +142,7 @@ class NodeBindings {
|
|||
std::shared_ptr<node::Environment> CreateEnvironment(
|
||||
v8::Local<v8::Context> context,
|
||||
node::MultiIsolatePlatform* platform,
|
||||
size_t max_young_generation_size = 0,
|
||||
std::optional<base::RepeatingCallback<void()>> on_app_code_ready =
|
||||
std::nullopt);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue