Changeset 179882 in webkit
- Timestamp:
- Feb 10, 2015, 1:59:54 PM (12 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
dfg/DFGPlan.cpp (modified) (2 diffs)
-
ftl/FTLCapabilities.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r179875 r179882 1 2015-02-10 Michael Saboff <msaboff@apple.com> 2 3 Crash in JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq 4 https://bugs.webkit.org/show_bug.cgi?id=139398 5 6 Reviewed by Filip Pizlo. 7 8 Due to CFA analysis, the CompareStrictEq node was determined to be unreachable, but later 9 was determined to be reachable. When we go to lower to LLVM, the edges for the CompareStrictEq 10 node are UntypedUse which we can't compile. Fixed this by checking that the IR before 11 lowering can still be handled by the FTL. 12 13 Had to add GetArgument as a node that the FTL can compile as the SSA conversion phase converts 14 a SetArgument to a GetArgument. Before this change FTL::canCompile() would never see a GetArgument 15 node. With the check right before lowering, we see this node. 16 17 * dfg/DFGPlan.cpp: 18 (JSC::DFG::Plan::compileInThreadImpl): Added a final FTL::canCompile() check before lowering 19 to verify that after all the transformations we still have valid IR for the FTL. 20 * ftl/FTLCapabilities.cpp: 21 (JSC::FTL::canCompile): Added GetArgument as a node the FTL can compile. 22 1 23 2015-02-10 Filip Pizlo <fpizlo@apple.com> 2 24 -
trunk/Source/JavaScriptCore/dfg/DFGPlan.cpp
r179815 r179882 365 365 performWatchpointCollection(dfg); 366 366 367 if (FTL::canCompile(dfg) == FTL::CannotCompile) { 368 finalizer = std::make_unique<FailedFinalizer>(*this); 369 return FailPath; 370 } 371 367 372 dumpAndVerifyGraph(dfg, "Graph just before FTL lowering:"); 368 373 … … 380 385 return FailPath; 381 386 } 382 387 383 388 FTL::State state(dfg); 384 389 FTL::lowerDFGToLLVM(state); -
trunk/Source/JavaScriptCore/ftl/FTLCapabilities.cpp
r179478 r179882 52 52 case MovHint: 53 53 case ZombieHint: 54 case GetArgument: 54 55 case Phantom: 55 56 case HardPhantom:
Note:
See TracChangeset
for help on using the changeset viewer.