Title: [176771] trunk/Source/_javascript_Core
- Revision
- 176771
- Author
- [email protected]
- Date
- 2014-12-03 17:59:40 -0800 (Wed, 03 Dec 2014)
Log Message
REGRESSION (r176479): DFG ASSERTION beneath emitOSRExitCall running Kraken/imaging-gaussian-blur.js.ftl-no-cjit-osr-validation and other tests
https://bugs.webkit.org/show_bug.cgi?id=139246
Reviewed by Geoffrey Garen.
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
The DFG_ASSERT that checks liveness at exit time doesn't properly
handle the case where the local is not available at OSR exit time,
but the local is live in the bytecode. This now happens with the
allocated scope register when we are compiling for FTLForOSREntryMode
due to DCE done when the control flow was changed and a new entrypoint
was added in the OSR entrypoint creation phase. Therefore we silence
the assert when compiling for FTLForOSREntryMode.
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (176770 => 176771)
--- trunk/Source/_javascript_Core/ChangeLog 2014-12-04 01:40:21 UTC (rev 176770)
+++ trunk/Source/_javascript_Core/ChangeLog 2014-12-04 01:59:40 UTC (rev 176771)
@@ -1,3 +1,20 @@
+2014-12-03 Michael Saboff <[email protected]>
+
+ REGRESSION (r176479): DFG ASSERTION beneath emitOSRExitCall running Kraken/imaging-gaussian-blur.js.ftl-no-cjit-osr-validation and other tests
+ https://bugs.webkit.org/show_bug.cgi?id=139246
+
+ Reviewed by Geoffrey Garen.
+
+ * ftl/FTLLowerDFGToLLVM.cpp:
+ (JSC::FTL::LowerDFGToLLVM::buildExitArguments):
+ The DFG_ASSERT that checks liveness at exit time doesn't properly
+ handle the case where the local is not available at OSR exit time,
+ but the local is live in the bytecode. This now happens with the
+ allocated scope register when we are compiling for FTLForOSREntryMode
+ due to DCE done when the control flow was changed and a new entrypoint
+ was added in the OSR entrypoint creation phase. Therefore we silence
+ the assert when compiling for FTLForOSREntryMode.
+
2014-12-03 Geoffrey Garen <[email protected]>
Removed the global parser arena
Modified: trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp (176770 => 176771)
--- trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp 2014-12-04 01:40:21 UTC (rev 176770)
+++ trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp 2014-12-04 01:59:40 UTC (rev 176771)
@@ -6559,7 +6559,7 @@
if (Options::validateFTLOSRExitLiveness()) {
DFG_ASSERT(
m_graph, m_node,
- !(availability.isDead() && m_graph.isLiveInBytecode(VirtualRegister(operand), codeOrigin)));
+ (!(availability.isDead() && m_graph.isLiveInBytecode(VirtualRegister(operand), codeOrigin))) || m_graph.m_plan.mode == FTLForOSREntryMode);
}
exit.m_values[i] = exitValueForAvailability(arguments, map, availability);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes