line up crashing with chrome
authordcarney@chromium.org <dcarney@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 13 Sep 2013 12:49:57 +0000 (12:49 +0000)
committerdcarney@chromium.org <dcarney@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 13 Sep 2013 12:49:57 +0000 (12:49 +0000)
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/23868025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/flag-definitions.h
src/platform-posix.cc
src/platform-win32.cc
src/platform.h

index cc153af..8e77ac8 100644 (file)
@@ -473,7 +473,7 @@ DEFINE_bool(debugger_auto_break, true,
             "automatically set the debug break flag when debugger commands are "
             "in the queue")
 DEFINE_bool(enable_liveedit, true, "enable liveedit experimental feature")
-DEFINE_bool(break_on_abort, true, "always cause a debug break before aborting")
+DEFINE_bool(break_on_abort, false, "always cause a debug break before aborting")
 
 // execution.cc
 // Slightly less than 1MB on 64-bit, since Windows' default stack size for
index fe27eaf..69303bf 100644 (file)
@@ -222,7 +222,7 @@ void OS::Abort() {
   if (FLAG_break_on_abort) {
     DebugBreak();
   }
-  abort();
+  V8_IMMEDIATE_CRASH();
 }
 
 
index 073b21a..7a90920 100644 (file)
@@ -872,10 +872,8 @@ void OS::Sleep(int milliseconds) {
 void OS::Abort() {
   if (IsDebuggerPresent() || FLAG_break_on_abort) {
     DebugBreak();
-  } else {
-    // Make the MSVCRT do a silent abort.
-    raise(SIGABRT);
   }
+  V8_IMMEDIATE_CRASH();
 }
 
 
index aa50cb4..13c126b 100644 (file)
 #include "utils.h"
 #include "v8globals.h"
 
+// This is lined up with blink's method of crashing.
+#if defined(__GNUC__)
+#define V8_IMMEDIATE_CRASH() __builtin_trap()
+#else
+#define V8_IMMEDIATE_CRASH() ((void(*)())0)()
+#endif
+
 #ifdef __sun
 # ifndef signbit
 namespace std {