Modified: trunk/Source/_javascript_Core/ChangeLog (205916 => 205917)
--- trunk/Source/_javascript_Core/ChangeLog 2016-09-14 17:48:13 UTC (rev 205916)
+++ trunk/Source/_javascript_Core/ChangeLog 2016-09-14 17:55:15 UTC (rev 205917)
@@ -1,3 +1,18 @@
+2016-09-14 Mark Lam <[email protected]>
+
+ Use Options::validateExceptionChecks() instead of VM::m_verifyExceptionEvents.
+ https://bugs.webkit.org/show_bug.cgi?id=161975
+
+ Reviewed by Keith Miller.
+
+ This makes it less burdensome (no longer needs a rebuild to enable checks) to do
+ incremental work towards enabling checks all the time.
+
+ * runtime/Options.h:
+ * runtime/VM.cpp:
+ (JSC::VM::verifyExceptionCheckNeedIsSatisfied):
+ * runtime/VM.h:
+
2016-09-14 Joseph Pecoraro <[email protected]>
TaggedTemplateString function calls should emit tail position calls
Modified: trunk/Source/_javascript_Core/runtime/Options.h (205916 => 205917)
--- trunk/Source/_javascript_Core/runtime/Options.h 2016-09-14 17:48:13 UTC (rev 205916)
+++ trunk/Source/_javascript_Core/runtime/Options.h 2016-09-14 17:55:15 UTC (rev 205917)
@@ -347,6 +347,7 @@
v(unsigned, fireExceptionFuzzAt, 0, Normal, nullptr) \
v(bool, validateDFGExceptionHandling, false, Normal, "Causes the DFG to emit code validating exception handling for each node that can exit") /* This is true by default on Debug builds */\
v(bool, dumpSimulatedThrows, false, Normal, "Dumps the call stack at each simulated throw for exception scope verification") \
+ v(bool, validateExceptionChecks, false, Normal, "Verifies that needed exception checks are performed.") \
\
v(bool, useExecutableAllocationFuzz, false, Normal, nullptr) \
v(unsigned, fireExecutableAllocationFuzzAt, 0, Normal, nullptr) \
Modified: trunk/Source/_javascript_Core/runtime/VM.cpp (205916 => 205917)
--- trunk/Source/_javascript_Core/runtime/VM.cpp 2016-09-14 17:48:13 UTC (rev 205916)
+++ trunk/Source/_javascript_Core/runtime/VM.cpp 2016-09-14 17:55:15 UTC (rev 205917)
@@ -896,7 +896,7 @@
#if ENABLE(EXCEPTION_SCOPE_VERIFICATION)
void VM::verifyExceptionCheckNeedIsSatisfied(unsigned recursionDepth, ExceptionEventLocation& location)
{
- if (!m_verifyExceptionEvents)
+ if (!Options::validateExceptionChecks())
return;
if (UNLIKELY(m_needExceptionCheck)) {
Modified: trunk/Source/_javascript_Core/runtime/VM.h (205916 => 205917)
--- trunk/Source/_javascript_Core/runtime/VM.h 2016-09-14 17:48:13 UTC (rev 205916)
+++ trunk/Source/_javascript_Core/runtime/VM.h 2016-09-14 17:55:15 UTC (rev 205917)
@@ -703,9 +703,6 @@
ExceptionEventLocation m_simulatedThrowPointLocation;
unsigned m_simulatedThrowPointRecursionDepth { 0 };
mutable bool m_needExceptionCheck { false };
-
- // Disabled temporarily until all known verification failures are fixed.
- bool m_verifyExceptionEvents { false };
#endif
bool m_failNextNewCodeBlock { false };