Title: [150196] trunk/Source
- Revision
- 150196
- Author
- [email protected]
- Date
- 2013-05-16 12:03:16 -0700 (Thu, 16 May 2013)
Log Message
Crash properly on iOS
https://bugs.webkit.org/show_bug.cgi?id=115782
Reviewed by Darin Adler.
Improve crash handling. <rdar://problem/13842771>
* wtf/Assertions.cpp:
* wtf/Assertions.h:
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/_javascript_Core.vcproj/_javascript_Core/_javascript_CoreExports.def (150195 => 150196)
--- trunk/Source/_javascript_Core/_javascript_Core.vcproj/_javascript_Core/_javascript_CoreExports.def 2013-05-16 19:00:36 UTC (rev 150195)
+++ trunk/Source/_javascript_Core/_javascript_Core.vcproj/_javascript_Core/_javascript_CoreExports.def 2013-05-16 19:03:16 UTC (rev 150196)
@@ -555,8 +555,8 @@
?writeBarrier@HandleSet@JSC@@QAEXPAVJSValue@2@ABV32@@Z
?yield@WTF@@YAXXZ
?zeroTime@MediaTime@WTF@@SAABV12@XZ
+ WTFCrash
WTFGetBacktrace
- WTFInvokeCrashHook
WTFLog
WTFLogAlways
WTFLogVerbose
Modified: trunk/Source/_javascript_Core/_javascript_Core.vcxproj/_javascript_CoreExportGenerator/_javascript_CoreExports.def.in (150195 => 150196)
--- trunk/Source/_javascript_Core/_javascript_Core.vcxproj/_javascript_CoreExportGenerator/_javascript_CoreExports.def.in 2013-05-16 19:00:36 UTC (rev 150195)
+++ trunk/Source/_javascript_Core/_javascript_Core.vcxproj/_javascript_CoreExportGenerator/_javascript_CoreExports.def.in 2013-05-16 19:03:16 UTC (rev 150196)
@@ -554,8 +554,8 @@
?writeBarrier@HandleSet@JSC@@QAEXPAVJSValue@2@ABV32@@Z
?yield@WTF@@YAXXZ
?zeroTime@MediaTime@WTF@@SAABV12@XZ
+ WTFCrash
WTFGetBacktrace
- WTFInvokeCrashHook
WTFLog
WTFLogAlways
WTFLogVerbose
Modified: trunk/Source/WTF/ChangeLog (150195 => 150196)
--- trunk/Source/WTF/ChangeLog 2013-05-16 19:00:36 UTC (rev 150195)
+++ trunk/Source/WTF/ChangeLog 2013-05-16 19:03:16 UTC (rev 150196)
@@ -1,3 +1,15 @@
+2013-05-16 Benjamin Poulain <[email protected]>
+
+ Crash properly on iOS
+ https://bugs.webkit.org/show_bug.cgi?id=115782
+
+ Reviewed by Darin Adler.
+
+ Improve crash handling. <rdar://problem/13842771>
+
+ * wtf/Assertions.cpp:
+ * wtf/Assertions.h:
+
2013-05-15 Ryuan Choi <[email protected]>
Unreviewed build fix after r150123
Modified: trunk/Source/WTF/wtf/Assertions.cpp (150195 => 150196)
--- trunk/Source/WTF/wtf/Assertions.cpp 2013-05-16 19:00:36 UTC (rev 150195)
+++ trunk/Source/WTF/wtf/Assertions.cpp 2013-05-16 19:03:16 UTC (rev 150196)
@@ -326,10 +326,19 @@
globalHook = function;
}
-void WTFInvokeCrashHook()
+void WTFCrash()
{
if (globalHook)
globalHook();
+
+ WTFReportBacktrace();
+ *(int *)(uintptr_t)0xbbadbeef = 0;
+ // More reliable, but doesn't say BBADBEEF.
+#if COMPILER(CLANG)
+ __builtin_trap();
+#else
+ ((void(*)())0)();
+#endif
}
#if HAVE(SIGNAL_H)
Modified: trunk/Source/WTF/wtf/Assertions.h (150195 => 150196)
--- trunk/Source/WTF/wtf/Assertions.h 2013-05-16 19:00:36 UTC (rev 150195)
+++ trunk/Source/WTF/wtf/Assertions.h 2013-05-16 19:03:16 UTC (rev 150196)
@@ -123,7 +123,6 @@
typedef void (*WTFCrashHookFunction)();
WTF_EXPORT_PRIVATE void WTFSetCrashHook(WTFCrashHookFunction);
-WTF_EXPORT_PRIVATE void WTFInvokeCrashHook();
WTF_EXPORT_PRIVATE void WTFInstallReportBacktraceOnCrashHook();
#ifdef __cplusplus
@@ -138,30 +137,24 @@
Signals are ignored by the crash reporter on OS X so we must do better.
*/
-#ifndef CRASH
#if COMPILER(CLANG)
-#define CRASH() \
- (WTFReportBacktrace(), \
- WTFInvokeCrashHook(), \
- (*(int *)(uintptr_t)0xbbadbeef = 0), \
- __builtin_trap())
-#else
-#define CRASH() \
- (WTFReportBacktrace(), \
- WTFInvokeCrashHook(), \
- (*(int *)(uintptr_t)0xbbadbeef = 0), \
- ((void(*)())0)() /* More reliable, but doesn't say BBADBEEF */ \
- )
-#endif
-#endif
-
-#if COMPILER(CLANG)
#define NO_RETURN_DUE_TO_CRASH NO_RETURN
#else
#define NO_RETURN_DUE_TO_CRASH
#endif
+#ifndef CRASH
+#define CRASH() WTFCrash()
+#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+WTF_EXPORT_PRIVATE void WTFCrash() NO_RETURN_DUE_TO_CRASH;
+#ifdef __cplusplus
+}
+#endif
+
/* BACKTRACE
Print a backtrace to the same location as ASSERT messages.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes