summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/api/cli.md1
-rw-r--r--src/node_options.cc3
-rw-r--r--test/parallel/test-cli-node-options.js3
3 files changed, 7 insertions, 0 deletions
diff --git a/doc/api/cli.md b/doc/api/cli.md
index 57623d8a38..57754c5761 100644
--- a/doc/api/cli.md
+++ b/doc/api/cli.md
@@ -1052,6 +1052,7 @@ Node.js options that are allowed are:
V8 options that are allowed are:
<!-- node-options-v8 start -->
- `--abort-on-uncaught-exception`
+- `--interpreted-frames-native-stack`
- `--max-old-space-size`
- `--perf-basic-prof-only-functions`
- `--perf-basic-prof`
diff --git a/src/node_options.cc b/src/node_options.cc
index 80d6f99770..286218fb19 100644
--- a/src/node_options.cc
+++ b/src/node_options.cc
@@ -558,6 +558,9 @@ PerIsolateOptionsParser::PerIsolateOptionsParser(
"for analysis",
V8Option{},
kAllowedInEnvironment);
+ AddOption("--interpreted-frames-native-stack",
+ "help system profilers to translate JavaScript interpreted frames",
+ V8Option{}, kAllowedInEnvironment);
AddOption("--max-old-space-size", "", V8Option{}, kAllowedInEnvironment);
AddOption("--perf-basic-prof", "", V8Option{}, kAllowedInEnvironment);
AddOption("--perf-basic-prof-only-functions",
diff --git a/test/parallel/test-cli-node-options.js b/test/parallel/test-cli-node-options.js
index 07b69c5b13..7e42139470 100644
--- a/test/parallel/test-cli-node-options.js
+++ b/test/parallel/test-cli-node-options.js
@@ -65,6 +65,9 @@ expect('--stack-trace-limit=100',
/(\s*at f \(\[eval\]:1:\d*\)\r?\n){100}/,
'(function f() { f(); })();',
true);
+// Unsupported on arm. See https://crbug.com/v8/8713.
+if (!['arm', 'arm64'].includes(process.arch))
+ expect('--interpreted-frames-native-stack', 'B\n');
function expect(opt, want, command = 'console.log("B")', wantsError = false) {
const argv = ['-e', command];