Title: [211609] trunk/Source/_javascript_Core
- Revision
- 211609
- Author
- [email protected]
- Date
- 2017-02-02 16:26:00 -0800 (Thu, 02 Feb 2017)
Log Message
Add a SIGILL crash analyzer to make debugging SIGILLs easier.
https://bugs.webkit.org/show_bug.cgi?id=167714
<rdar://problem/30318237>
Not reviewed.
Build fix for CLOOP build.
* tools/VMInspector.cpp:
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (211608 => 211609)
--- trunk/Source/_javascript_Core/ChangeLog 2017-02-03 00:22:49 UTC (rev 211608)
+++ trunk/Source/_javascript_Core/ChangeLog 2017-02-03 00:26:00 UTC (rev 211609)
@@ -4,6 +4,18 @@
https://bugs.webkit.org/show_bug.cgi?id=167714
<rdar://problem/30318237>
+ Not reviewed.
+
+ Build fix for CLOOP build.
+
+ * tools/VMInspector.cpp:
+
+2017-02-02 Mark Lam <[email protected]>
+
+ Add a SIGILL crash analyzer to make debugging SIGILLs easier.
+ https://bugs.webkit.org/show_bug.cgi?id=167714
+ <rdar://problem/30318237>
+
Reviewed by Filip Pizlo.
The current implementation is only for X86_64 and ARM64 on OS(DARWIN). The
Modified: trunk/Source/_javascript_Core/tools/VMInspector.cpp (211608 => 211609)
--- trunk/Source/_javascript_Core/tools/VMInspector.cpp 2017-02-03 00:22:49 UTC (rev 211608)
+++ trunk/Source/_javascript_Core/tools/VMInspector.cpp 2017-02-03 00:26:00 UTC (rev 211609)
@@ -84,6 +84,7 @@
return LockToken::LockedValue;
}
+#if ENABLE(JIT)
static bool ensureIsSafeToLock(Lock& lock)
{
unsigned maxRetries = 2;
@@ -98,9 +99,11 @@
}
return false;
};
+#endif // ENABLE(JIT)
auto VMInspector::isValidExecutableMemory(VMInspector::LockToken, void* machinePC) -> Expected<bool, Error>
{
+#if ENABLE(JIT)
bool found = false;
bool hasTimeout = false;
iterate([&] (VM& vm) -> FunctorStatus {
@@ -124,10 +127,15 @@
if (!found && hasTimeout)
return makeUnexpected(Error::TimedOut);
return found;
+#else
+ UNUSED_PARAM(machinePC);
+ return false;
+#endif
}
auto VMInspector::codeBlockForMachinePC(VMInspector::LockToken, void* machinePC) -> Expected<CodeBlock*, Error>
{
+#if ENABLE(JIT)
CodeBlock* codeBlock = nullptr;
bool hasTimeout = false;
iterate([&] (VM& vm) {
@@ -178,6 +186,10 @@
if (!codeBlock && hasTimeout)
return makeUnexpected(Error::TimedOut);
return codeBlock;
+#else
+ UNUSED_PARAM(machinePC);
+ return nullptr;
+#endif
}
} // namespace JSC
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes