mirror of
https://github.com/nodejs/node.git
synced 2025-08-16 14:18:44 +02:00
src: allow embedder control of code generation policy
PR-URL: https://github.com/nodejs/node/pull/46368 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com>
This commit is contained in:
parent
82ee78295a
commit
3aaeb309b3
2 changed files with 13 additions and 2 deletions
|
@ -265,8 +265,16 @@ void SetIsolateMiscHandlers(v8::Isolate* isolate, const IsolateSettings& s) {
|
||||||
auto* allow_wasm_codegen_cb = s.allow_wasm_code_generation_callback ?
|
auto* allow_wasm_codegen_cb = s.allow_wasm_code_generation_callback ?
|
||||||
s.allow_wasm_code_generation_callback : AllowWasmCodeGenerationCallback;
|
s.allow_wasm_code_generation_callback : AllowWasmCodeGenerationCallback;
|
||||||
isolate->SetAllowWasmCodeGenerationCallback(allow_wasm_codegen_cb);
|
isolate->SetAllowWasmCodeGenerationCallback(allow_wasm_codegen_cb);
|
||||||
|
|
||||||
|
auto* modify_code_generation_from_strings_callback =
|
||||||
|
ModifyCodeGenerationFromStrings;
|
||||||
|
if (s.flags & ALLOW_MODIFY_CODE_GENERATION_FROM_STRINGS_CALLBACK &&
|
||||||
|
s.modify_code_generation_from_strings_callback) {
|
||||||
|
modify_code_generation_from_strings_callback =
|
||||||
|
s.modify_code_generation_from_strings_callback;
|
||||||
|
}
|
||||||
isolate->SetModifyCodeGenerationFromStringsCallback(
|
isolate->SetModifyCodeGenerationFromStringsCallback(
|
||||||
ModifyCodeGenerationFromStrings);
|
modify_code_generation_from_strings_callback);
|
||||||
|
|
||||||
Mutex::ScopedLock lock(node::per_process::cli_options_mutex);
|
Mutex::ScopedLock lock(node::per_process::cli_options_mutex);
|
||||||
if (per_process::cli_options->get_per_isolate_options()
|
if (per_process::cli_options->get_per_isolate_options()
|
||||||
|
|
|
@ -450,7 +450,8 @@ enum IsolateSettingsFlags {
|
||||||
MESSAGE_LISTENER_WITH_ERROR_LEVEL = 1 << 0,
|
MESSAGE_LISTENER_WITH_ERROR_LEVEL = 1 << 0,
|
||||||
DETAILED_SOURCE_POSITIONS_FOR_PROFILING = 1 << 1,
|
DETAILED_SOURCE_POSITIONS_FOR_PROFILING = 1 << 1,
|
||||||
SHOULD_NOT_SET_PROMISE_REJECTION_CALLBACK = 1 << 2,
|
SHOULD_NOT_SET_PROMISE_REJECTION_CALLBACK = 1 << 2,
|
||||||
SHOULD_NOT_SET_PREPARE_STACK_TRACE_CALLBACK = 1 << 3
|
SHOULD_NOT_SET_PREPARE_STACK_TRACE_CALLBACK = 1 << 3,
|
||||||
|
ALLOW_MODIFY_CODE_GENERATION_FROM_STRINGS_CALLBACK = 1 << 4,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct IsolateSettings {
|
struct IsolateSettings {
|
||||||
|
@ -468,6 +469,8 @@ struct IsolateSettings {
|
||||||
v8::PromiseRejectCallback promise_reject_callback = nullptr;
|
v8::PromiseRejectCallback promise_reject_callback = nullptr;
|
||||||
v8::AllowWasmCodeGenerationCallback
|
v8::AllowWasmCodeGenerationCallback
|
||||||
allow_wasm_code_generation_callback = nullptr;
|
allow_wasm_code_generation_callback = nullptr;
|
||||||
|
v8::ModifyCodeGenerationFromStringsCallback2
|
||||||
|
modify_code_generation_from_strings_callback = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Overriding IsolateSettings may produce unexpected behavior
|
// Overriding IsolateSettings may produce unexpected behavior
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue