diff options
Diffstat (limited to 'deps/v8/src/checks.cc')
-rw-r--r-- | deps/v8/src/checks.cc | 28 |
1 files changed, 7 insertions, 21 deletions
diff --git a/deps/v8/src/checks.cc b/deps/v8/src/checks.cc index 82086824dd..7108d18892 100644 --- a/deps/v8/src/checks.cc +++ b/deps/v8/src/checks.cc @@ -31,33 +31,19 @@ #include "platform.h" -// TODO(isolates): is it necessary to lift this? -static int fatal_error_handler_nesting_depth = 0; - // Contains protection against recursive calls (faults while handling faults). extern "C" void V8_Fatal(const char* file, int line, const char* format, ...) { i::AllowHandleDereference allow_deref; i::AllowDeferredHandleDereference allow_deferred_deref; fflush(stdout); fflush(stderr); - fatal_error_handler_nesting_depth++; - // First time we try to print an error message - if (fatal_error_handler_nesting_depth < 2) { - i::OS::PrintError("\n\n#\n# Fatal error in %s, line %d\n# ", file, line); - va_list arguments; - va_start(arguments, format); - i::OS::VPrintError(format, arguments); - va_end(arguments); - i::OS::PrintError("\n#\n"); - i::OS::DumpBacktrace(); - } - // First two times we may try to print a stack dump. - if (fatal_error_handler_nesting_depth < 3) { - if (i::FLAG_stack_trace_on_abort) { - // Call this one twice on double fault - i::Isolate::Current()->PrintStack(stderr); - } - } + i::OS::PrintError("\n\n#\n# Fatal error in %s, line %d\n# ", file, line); + va_list arguments; + va_start(arguments, format); + i::OS::VPrintError(format, arguments); + va_end(arguments); + i::OS::PrintError("\n#\n"); + i::OS::DumpBacktrace(); i::OS::Abort(); } |