Lines Matching +full:- +full:- +full:fail +full:- +full:env +full:- +full:changed
26 #include "debug_utils-inl.h"
27 #include "env-inl.h"
28 #include "memory_tracker-inl.h"
35 #include "node_options-inl.h"
40 #include "node_v8_platform-inl.h"
63 #include "v8-profiler.h"
132 // Tells whether the per-process V8::Initialize() is called and
137 // process-relative uptime base in nanoseconds, initialized in node::Start()
139 // Tells whether --prof is passed.
142 // node_v8_platform-inl.h
158 MaybeLocal<Value> ExecuteBootstrapper(Environment* env, in ExecuteBootstrapper() argument
162 EscapableHandleScope scope(env->isolate()); in ExecuteBootstrapper()
164 NativeModuleEnv::LookupAndCompile(env->context(), id, parameters, env); in ExecuteBootstrapper()
171 MaybeLocal<Value> result = fn->Call(env->context(), in ExecuteBootstrapper()
172 Undefined(env->isolate()), in ExecuteBootstrapper()
173 arguments->size(), in ExecuteBootstrapper()
174 arguments->data()); in ExecuteBootstrapper()
178 // AsyncCallbackScope destructor doesn't fail on the id check. in ExecuteBootstrapper()
183 env->async_hooks()->clear_async_id_stack(); in ExecuteBootstrapper()
195 inspector_path = parent_handle->url(); in InitializeInspector()
196 inspector_agent_->SetParentHandle(std::move(parent_handle)); in InitializeInspector()
201 CHECK(!inspector_agent_->IsListening()); in InitializeInspector()
202 // Inspector agent can't fail to start, but if it was configured to listen in InitializeInspector()
205 inspector_agent_->Start(inspector_path, in InitializeInspector()
206 options_->debug_options(), in InitializeInspector()
209 if (options_->debug_options().inspector_enabled && in InitializeInspector()
210 !inspector_agent_->IsListening()) { in InitializeInspector()
216 if (inspector_agent_->options().break_node_first_line) { in InitializeInspector()
217 inspector_agent_->PauseOnNextJavascriptStatement("Break at bootstrap"); in InitializeInspector()
225 isolate_->GetHeapProfiler()->AddBuildEmbedderGraphCallback( in InitializeDiagnostics()
227 if (options_->trace_uncaught) in InitializeDiagnostics()
228 isolate_->SetCaptureStackTraceForUncaughtExceptions(true); in InitializeDiagnostics()
247 ->GetFunction(context()) in BootstrapInternalLoaders()
250 ->GetFunction(context()) in BootstrapInternalLoaders()
261 CHECK(loader_exports->IsObject()); in BootstrapInternalLoaders()
264 loader_exports_obj->Get(context(), internal_binding_string()) in BootstrapInternalLoaders()
266 CHECK(internal_binding_loader->IsFunction()); in BootstrapInternalLoaders()
269 loader_exports_obj->Get(context(), require_string()).ToLocalChecked(); in BootstrapInternalLoaders()
270 CHECK(require->IsFunction()); in BootstrapInternalLoaders()
279 Local<Object> global = context()->Global(); in BootstrapNode()
281 global->Set(context(), FIXED_ONE_BYTE_STRING(isolate_, "global"), global) in BootstrapNode()
324 Local<String> env_string = FIXED_ONE_BYTE_STRING(isolate_, "env"); in BootstrapNode()
328 process_object()->Set(context(), env_string, env_var_proxy).IsNothing()) { in BootstrapNode()
349 // Make sure that no request or handle is created during bootstrap - in RunBootstrapping()
350 // if necessary those should be done in pre-execution. in RunBootstrapping()
353 CHECK(req_wrap_queue()->IsEmpty()); in RunBootstrapping()
354 CHECK(handle_wrap_queue()->IsEmpty()); in RunBootstrapping()
362 Environment* env = Environment::GetCurrent(args); in MarkBootstrapComplete() local
363 env->performance_state()->Mark( in MarkBootstrapComplete()
368 MaybeLocal<Value> StartExecution(Environment* env, const char* main_script_id) { in StartExecution() argument
369 EscapableHandleScope scope(env->isolate()); in StartExecution()
373 env->process_string(), in StartExecution()
374 env->require_string(), in StartExecution()
375 env->internal_binding_string(), in StartExecution()
376 env->primordials_string(), in StartExecution()
377 FIXED_ONE_BYTE_STRING(env->isolate(), "markBootstrapComplete")}; in StartExecution()
380 env->process_object(), in StartExecution()
381 env->native_module_require(), in StartExecution()
382 env->internal_binding_loader(), in StartExecution()
383 env->primordials(), in StartExecution()
384 env->NewFunctionTemplate(MarkBootstrapComplete) in StartExecution()
385 ->GetFunction(env->context()) in StartExecution()
389 ExecuteBootstrapper(env, main_script_id, ¶meters, &arguments)); in StartExecution()
392 MaybeLocal<Value> StartExecution(Environment* env, StartExecutionCallback cb) { in StartExecution() argument
394 env, in StartExecution()
395 Object::New(env->isolate()), in StartExecution()
400 EscapableHandleScope scope(env->isolate()); in StartExecution()
402 if (StartExecution(env, "internal/bootstrap/environment").IsEmpty()) in StartExecution()
406 env->process_object(), in StartExecution()
407 env->native_module_require(), in StartExecution()
417 return StartExecution(env, "internal/main/run_third_party_main"); in StartExecution()
420 if (env->worker_context() != nullptr) { in StartExecution()
421 return StartExecution(env, "internal/main/worker_thread"); in StartExecution()
425 if (env->argv().size() > 1) { in StartExecution()
426 first_argv = env->argv()[1]; in StartExecution()
430 return StartExecution(env, "internal/main/inspect"); in StartExecution()
433 if (per_process::cli_options->print_help) { in StartExecution()
434 return StartExecution(env, "internal/main/print_help"); in StartExecution()
438 if (env->options()->prof_process) { in StartExecution()
439 return StartExecution(env, "internal/main/prof_process"); in StartExecution()
442 // -e/--eval without -i/--interactive in StartExecution()
443 if (env->options()->has_eval_string && !env->options()->force_repl) { in StartExecution()
444 return StartExecution(env, "internal/main/eval_string"); in StartExecution()
447 if (env->options()->syntax_check_only) { in StartExecution()
448 return StartExecution(env, "internal/main/check_syntax"); in StartExecution()
451 if (!first_argv.empty() && first_argv != "-") { in StartExecution()
452 return StartExecution(env, "internal/main/run_main_module"); in StartExecution()
455 if (env->options()->force_repl || uv_guess_handle(STDIN_FILENO) == UV_TTY) { in StartExecution()
456 return StartExecution(env, "internal/main/repl"); in StartExecution()
459 return StartExecution(env, "internal/main/eval_stdin"); in StartExecution()
525 // Make sure file descriptors 0-2 are valid before we start logging anything. in PlatformInit()
527 const int fd = &s - stdio; in PlatformInit()
531 // have to special-case EINTR, fstat() is not interruptible. in PlatformInit()
546 // Restore signal dispositions, the parent process may have changed them. in PlatformInit()
550 // The hard-coded upper limit is because NSIG is not very reliable; on Linux, in PlatformInit()
565 const int fd = &s - stdio; in PlatformInit()
570 while (s.flags == -1 && errno == EINTR); // NOLINT in PlatformInit()
571 CHECK_NE(s.flags, -1); in PlatformInit()
578 while (err == -1 && errno == EINTR); // NOLINT in PlatformInit()
597 lim.rlim_cur = min + (max - min) / 2; in PlatformInit()
627 const int fd = &s - stdio; in ResetStdio()
630 if (-1 == fstat(fd, &tmp)) { in ResetStdio()
642 while (flags == -1 && errno == EINTR); // NOLINT in ResetStdio()
643 CHECK_NE(flags, -1); in ResetStdio()
645 // Restore the O_NONBLOCK flag if it changed. in ResetStdio()
653 while (err == -1 && errno == EINTR); // NOLINT in ResetStdio()
654 CHECK_NE(err, -1); in ResetStdio()
669 while (err == -1 && errno == EINTR); // NOLINT in ResetStdio()
673 // tcsetattr will fail with err == -1 and errno == EPERM. in ResetStdio()
674 CHECK_IMPLIES(err != 0, err == -1 && errno == EPERM); in ResetStdio()
697 if (!errors->empty()) return 9; in ProcessGlobalArgs()
700 for (const std::string& cve : per_process::cli_options->security_reverts) { in ProcessGlobalArgs()
703 errors->emplace_back(std::move(revert_error)); in ProcessGlobalArgs()
708 if (per_process::cli_options->disable_proto != "delete" && in ProcessGlobalArgs()
709 per_process::cli_options->disable_proto != "throw" && in ProcessGlobalArgs()
710 per_process::cli_options->disable_proto != "") { in ProcessGlobalArgs()
711 errors->emplace_back("invalid mode passed to --disable-proto"); in ProcessGlobalArgs()
715 auto env_opts = per_process::cli_options->per_isolate->per_env; in ProcessGlobalArgs()
717 "--abort-on-uncaught-exception") != v8_args.end() || in ProcessGlobalArgs()
719 "--abort_on_uncaught_exception") != v8_args.end()) { in ProcessGlobalArgs()
720 env_opts->abort_on_uncaught_exception = true; in ProcessGlobalArgs()
723 // TODO(bnoordhuis) Intercept --prof arguments and start the CPU profiler in ProcessGlobalArgs()
726 // we fail to anticipate. Dillema. in ProcessGlobalArgs()
727 if (std::find(v8_args.begin(), v8_args.end(), "--prof") != v8_args.end()) { in ProcessGlobalArgs()
751 errors->push_back("bad option: " + std::string(v8_args_as_char_ptr[i])); in ProcessGlobalArgs()
769 // Register built-in modules in InitializeNodeWithArgs()
777 per_process::cli_options->cmdline = *argv; in InitializeNodeWithArgs()
781 // so the user can disable a flag --foo at run-time by passing in InitializeNodeWithArgs()
782 // --no_foo from the command line. in InitializeNodeWithArgs()
783 V8::SetFlagsFromString(NODE_V8_OPTIONS, sizeof(NODE_V8_OPTIONS) - 1); in InitializeNodeWithArgs()
786 HandleEnvOptions(per_process::cli_options->per_isolate->per_env); in InitializeNodeWithArgs()
795 if (!errors->empty()) return 9; in InitializeNodeWithArgs()
798 env_argv.insert(env_argv.begin(), argv->at(0)); in InitializeNodeWithArgs()
814 // Set the process.title immediately after processing argv if --title is set. in InitializeNodeWithArgs()
815 if (!per_process::cli_options->title.empty()) in InitializeNodeWithArgs()
816 uv_set_process_title(per_process::cli_options->title.c_str()); in InitializeNodeWithArgs()
819 // If the parameter isn't given, use the env variable. in InitializeNodeWithArgs()
820 if (per_process::cli_options->icu_data_dir.empty()) in InitializeNodeWithArgs()
822 &per_process::cli_options->icu_data_dir); in InitializeNodeWithArgs()
827 if (per_process::cli_options->icu_data_dir.empty()) { in InitializeNodeWithArgs()
837 per_process::cli_options->icu_data_dir = NODE_ICU_DEFAULT_DATA_DIR; in InitializeNodeWithArgs()
844 if (!i18n::InitializeICUDirectory(per_process::cli_options->icu_data_dir)) { in InitializeNodeWithArgs()
845 errors->push_back("could not initialize ICU " in InitializeNodeWithArgs()
846 "(check NODE_ICU_DATA or --icu-data-dir parameters)\n"); in InitializeNodeWithArgs()
878 if (per_process::cli_options->print_version) { in Init()
883 if (per_process::cli_options->print_bash_completion) { in Init()
889 if (per_process::cli_options->print_v8_help) { in Init()
890 V8::SetFlagsFromString("--help", 6); // Doesn't return. in Init()
935 if (per_process::cli_options->use_largepages == "on" || in InitializeOncePerProcess()
936 per_process::cli_options->use_largepages == "silent") { in InitializeOncePerProcess()
938 if (per_process::cli_options->use_largepages == "on" && result != 0) { in InitializeOncePerProcess()
943 if (per_process::cli_options->print_version) { in InitializeOncePerProcess()
950 if (per_process::cli_options->print_bash_completion) { in InitializeOncePerProcess()
956 if (per_process::cli_options->print_v8_help) { in InitializeOncePerProcess()
957 V8::SetFlagsFromString("--help", 6); // Doesn't return. in InitializeOncePerProcess()
978 per_process::cli_options->v8_thread_pool_size); in InitializeOncePerProcess()
1010 per_process::cli_options->per_isolate->no_node_snapshot; in Start()
1037 int Stop(Environment* env) { in Stop() argument
1038 env->Stop(); in Stop()