diff options
author | Joyee Cheung <joyeec9h3@gmail.com> | 2019-07-06 02:43:27 +0800 |
---|---|---|
committer | Joyee Cheung <joyeec9h3@gmail.com> | 2019-07-10 01:32:25 +0800 |
commit | 581bddc656ff822978bc0a23c61c2f0c40328ddb (patch) | |
tree | 9cbee05fd46223141ee3099e3ed3562bf19e5b52 /src/node.cc | |
parent | db55c3cfc14775cda810efc58bb8d7c1b7c356c4 (diff) | |
download | android-node-v8-581bddc656ff822978bc0a23c61c2f0c40328ddb.tar.gz android-node-v8-581bddc656ff822978bc0a23c61c2f0c40328ddb.tar.bz2 android-node-v8-581bddc656ff822978bc0a23c61c2f0c40328ddb.zip |
src: implement runtime option --no-node-snapshot for debugging
PR-URL: https://github.com/nodejs/node/pull/28567
Refs: https://github.com/nodejs/node/issues/28558
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'src/node.cc')
-rw-r--r-- | src/node.cc | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/node.cc b/src/node.cc index 371e7c9f02..ea3bc5688e 100644 --- a/src/node.cc +++ b/src/node.cc @@ -1052,16 +1052,21 @@ int Start(int argc, char** argv) { { Isolate::CreateParams params; - // TODO(joyeecheung): collect external references and set it in - // params.external_references. - std::vector<intptr_t> external_references = { - reinterpret_cast<intptr_t>(nullptr)}; - v8::StartupData* blob = NodeMainInstance::GetEmbeddedSnapshotBlob(); - const std::vector<size_t>* indexes = - NodeMainInstance::GetIsolateDataIndexes(); - if (blob != nullptr) { - params.external_references = external_references.data(); - params.snapshot_blob = blob; + const std::vector<size_t>* indexes = nullptr; + std::vector<intptr_t> external_references; + + bool force_no_snapshot = + per_process::cli_options->per_isolate->no_node_snapshot; + if (!force_no_snapshot) { + v8::StartupData* blob = NodeMainInstance::GetEmbeddedSnapshotBlob(); + if (blob != nullptr) { + // TODO(joyeecheung): collect external references and set it in + // params.external_references. + external_references.push_back(reinterpret_cast<intptr_t>(nullptr)); + params.external_references = external_references.data(); + params.snapshot_blob = blob; + indexes = NodeMainInstance::GetIsolateDataIndexes(); + } } NodeMainInstance main_instance(¶ms, |