Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (221340 => 221341)
--- trunk/Source/_javascript_Core/ChangeLog 2017-08-30 04:07:50 UTC (rev 221340)
+++ trunk/Source/_javascript_Core/ChangeLog 2017-08-30 04:20:45 UTC (rev 221341)
@@ -1,3 +1,19 @@
+2017-08-29 Commit Queue <[email protected]>
+
+ Unreviewed, rolling out r221317.
+ https://bugs.webkit.org/show_bug.cgi?id=176090
+
+ "It broke a testing mode because we will never FTL compile a
+ function that repeatedly throws" (Requested by saamyjoon on
+ #webkit).
+
+ Reverted changeset:
+
+ "Throwing an exception in the DFG/FTL should not be a
+ jettison-able OSR exit"
+ https://bugs.webkit.org/show_bug.cgi?id=176060
+ http://trac.webkit.org/changeset/221317
+
2017-08-29 Yusuke Suzuki <[email protected]>
[DFG] Add constant folding rule to convert CompareStrictEq(Untyped, Untyped [with non string cell constant]) to CompareEqPtr(Untyped)
Modified: trunk/Source/_javascript_Core/bytecode/ExitKind.cpp (221340 => 221341)
--- trunk/Source/_javascript_Core/bytecode/ExitKind.cpp 2017-08-30 04:07:50 UTC (rev 221340)
+++ trunk/Source/_javascript_Core/bytecode/ExitKind.cpp 2017-08-30 04:20:45 UTC (rev 221341)
@@ -90,8 +90,6 @@
return "ExceptionCheck";
case GenericUnwind:
return "GenericUnwind";
- case ThrowException:
- return "ThrowException";
}
RELEASE_ASSERT_NOT_REACHED();
return "Unknown";
@@ -102,7 +100,6 @@
switch (kind) {
case ExceptionCheck:
case GenericUnwind:
- case ThrowException:
return false;
default:
return true;
Modified: trunk/Source/_javascript_Core/bytecode/ExitKind.h (221340 => 221341)
--- trunk/Source/_javascript_Core/bytecode/ExitKind.h 2017-08-30 04:07:50 UTC (rev 221340)
+++ trunk/Source/_javascript_Core/bytecode/ExitKind.h 2017-08-30 04:20:45 UTC (rev 221341)
@@ -56,7 +56,6 @@
DebuggerEvent, // We exited because we need to service the debugger.
ExceptionCheck, // We exited because a direct exception check showed that we threw an exception from a C call.
GenericUnwind, // We exited because a we arrived at this OSR exit from genericUnwind.
- ThrowException, // We exited because we did 'throw'.
};
const char* exitKindToString(ExitKind);
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp (221340 => 221341)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2017-08-30 04:07:50 UTC (rev 221340)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2017-08-30 04:20:45 UTC (rev 221341)
@@ -3651,7 +3651,7 @@
case ThrowStaticError: {
// We expect that throw statements are rare and are intended to exit the code block
// anyway, so we just OSR back to the old JIT for now.
- terminateSpeculativeExecution(ThrowException, JSValueRegs(), 0);
+ terminateSpeculativeExecution(Uncountable, JSValueRegs(), 0);
break;
}
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp (221340 => 221341)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp 2017-08-30 04:07:50 UTC (rev 221340)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp 2017-08-30 04:20:45 UTC (rev 221341)
@@ -3874,7 +3874,7 @@
case ThrowStaticError: {
// We expect that throw statements are rare and are intended to exit the code block
// anyway, so we just OSR back to the old JIT for now.
- terminateSpeculativeExecution(ThrowException, JSValueRegs(), 0);
+ terminateSpeculativeExecution(Uncountable, JSValueRegs(), 0);
break;
}
Modified: trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp (221340 => 221341)
--- trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp 2017-08-30 04:07:50 UTC (rev 221340)
+++ trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp 2017-08-30 04:20:45 UTC (rev 221341)
@@ -7800,7 +7800,7 @@
void compileThrow()
{
- terminate(ThrowException);
+ terminate(Uncountable);
}
void compileInvalidationPoint()