Title: [180317] trunk/Source/_javascript_Core
Revision
180317
Author
msab...@apple.com
Date
2015-02-18 15:52:16 -0800 (Wed, 18 Feb 2015)

Log Message

Rollout r180247 & r180249 from trunk
https://bugs.webkit.org/show_bug.cgi?id=141773

Reviewed by Filip Pizlo.

Theses changes makes sense to fix the crash reported in https://bugs.webkit.org/show_bug.cgi?id=141730
only for branches.  The change to fail the FTL compile but continue running is not comprehensive
enough for general use on trunk.

* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::createPhiVariables):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileUpsilon):
(JSC::FTL::LowerDFGToLLVM::compilePhi):
(JSC::FTL::LowerDFGToLLVM::compileDoubleRep):
(JSC::FTL::LowerDFGToLLVM::compileValueRep):
(JSC::FTL::LowerDFGToLLVM::compileValueToInt32):
(JSC::FTL::LowerDFGToLLVM::compilePutLocal):
(JSC::FTL::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::LowerDFGToLLVM::compileArithDiv):
(JSC::FTL::LowerDFGToLLVM::compileArithMod):
(JSC::FTL::LowerDFGToLLVM::compileArithMinOrMax):
(JSC::FTL::LowerDFGToLLVM::compileArithAbs):
(JSC::FTL::LowerDFGToLLVM::compileArithNegate):
(JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure):
(JSC::FTL::LowerDFGToLLVM::compileGetById):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal):
(JSC::FTL::LowerDFGToLLVM::compileGetArrayLength):
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::compileArrayPush):
(JSC::FTL::LowerDFGToLLVM::compileArrayPop):
(JSC::FTL::LowerDFGToLLVM::compileNewArray):
(JSC::FTL::LowerDFGToLLVM::compileToString):
(JSC::FTL::LowerDFGToLLVM::compileMakeRope):
(JSC::FTL::LowerDFGToLLVM::compileCompareEq):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::compare):
(JSC::FTL::LowerDFGToLLVM::boolify):
(JSC::FTL::LowerDFGToLLVM::opposite):
(JSC::FTL::LowerDFGToLLVM::lowJSValue):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::isArrayType):
(JSC::FTL::LowerDFGToLLVM::exitValueForAvailability):
(JSC::FTL::LowerDFGToLLVM::exitValueForNode):
(JSC::FTL::LowerDFGToLLVM::setInt52):
(JSC::FTL::lowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::loweringFailed): Deleted.
* ftl/FTLLowerDFGToLLVM.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (180316 => 180317)


--- trunk/Source/_javascript_Core/ChangeLog	2015-02-18 23:50:12 UTC (rev 180316)
+++ trunk/Source/_javascript_Core/ChangeLog	2015-02-18 23:52:16 UTC (rev 180317)
@@ -1,3 +1,61 @@
+2015-02-18  Michael Saboff  <msab...@apple.com>
+
+        Rollout r180247 & r180249 from trunk
+        https://bugs.webkit.org/show_bug.cgi?id=141773
+
+        Reviewed by Filip Pizlo.
+
+        Theses changes makes sense to fix the crash reported in https://bugs.webkit.org/show_bug.cgi?id=141730
+        only for branches.  The change to fail the FTL compile but continue running is not comprehensive
+        enough for general use on trunk.
+
+        * dfg/DFGPlan.cpp:
+        (JSC::DFG::Plan::compileInThreadImpl):
+        * ftl/FTLLowerDFGToLLVM.cpp:
+        (JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
+        (JSC::FTL::LowerDFGToLLVM::lower):
+        (JSC::FTL::LowerDFGToLLVM::createPhiVariables):
+        (JSC::FTL::LowerDFGToLLVM::compileNode):
+        (JSC::FTL::LowerDFGToLLVM::compileUpsilon):
+        (JSC::FTL::LowerDFGToLLVM::compilePhi):
+        (JSC::FTL::LowerDFGToLLVM::compileDoubleRep):
+        (JSC::FTL::LowerDFGToLLVM::compileValueRep):
+        (JSC::FTL::LowerDFGToLLVM::compileValueToInt32):
+        (JSC::FTL::LowerDFGToLLVM::compilePutLocal):
+        (JSC::FTL::LowerDFGToLLVM::compileArithAddOrSub):
+        (JSC::FTL::LowerDFGToLLVM::compileArithMul):
+        (JSC::FTL::LowerDFGToLLVM::compileArithDiv):
+        (JSC::FTL::LowerDFGToLLVM::compileArithMod):
+        (JSC::FTL::LowerDFGToLLVM::compileArithMinOrMax):
+        (JSC::FTL::LowerDFGToLLVM::compileArithAbs):
+        (JSC::FTL::LowerDFGToLLVM::compileArithNegate):
+        (JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure):
+        (JSC::FTL::LowerDFGToLLVM::compileGetById):
+        (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal):
+        (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength):
+        (JSC::FTL::LowerDFGToLLVM::compileGetByVal):
+        (JSC::FTL::LowerDFGToLLVM::compilePutByVal):
+        (JSC::FTL::LowerDFGToLLVM::compileArrayPush):
+        (JSC::FTL::LowerDFGToLLVM::compileArrayPop):
+        (JSC::FTL::LowerDFGToLLVM::compileNewArray):
+        (JSC::FTL::LowerDFGToLLVM::compileToString):
+        (JSC::FTL::LowerDFGToLLVM::compileMakeRope):
+        (JSC::FTL::LowerDFGToLLVM::compileCompareEq):
+        (JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
+        (JSC::FTL::LowerDFGToLLVM::compileSwitch):
+        (JSC::FTL::LowerDFGToLLVM::compare):
+        (JSC::FTL::LowerDFGToLLVM::boolify):
+        (JSC::FTL::LowerDFGToLLVM::opposite):
+        (JSC::FTL::LowerDFGToLLVM::lowJSValue):
+        (JSC::FTL::LowerDFGToLLVM::speculate):
+        (JSC::FTL::LowerDFGToLLVM::isArrayType):
+        (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability):
+        (JSC::FTL::LowerDFGToLLVM::exitValueForNode):
+        (JSC::FTL::LowerDFGToLLVM::setInt52):
+        (JSC::FTL::lowerDFGToLLVM):
+        (JSC::FTL::LowerDFGToLLVM::loweringFailed): Deleted.
+        * ftl/FTLLowerDFGToLLVM.h:
+
 2015-02-18  Filip Pizlo  <fpi...@apple.com>
 
         DFG should really support varargs

Modified: trunk/Source/_javascript_Core/dfg/DFGPlan.cpp (180316 => 180317)


--- trunk/Source/_javascript_Core/dfg/DFGPlan.cpp	2015-02-18 23:50:12 UTC (rev 180316)
+++ trunk/Source/_javascript_Core/dfg/DFGPlan.cpp	2015-02-18 23:52:16 UTC (rev 180317)
@@ -386,10 +386,7 @@
         }
 
         FTL::State state(dfg);
-        if (!FTL::lowerDFGToLLVM(state)) {
-            FTL::fail(state);
-            return FTLPath;
-        }
+        FTL::lowerDFGToLLVM(state);
         
         if (reportCompileTimes())
             m_timeBeforeFTL = monotonicallyIncreasingTime();

Modified: trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp (180316 => 180317)


--- trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp	2015-02-18 23:50:12 UTC (rev 180316)
+++ trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp	2015-02-18 23:52:16 UTC (rev 180317)
@@ -93,7 +93,6 @@
     LowerDFGToLLVM(State& state)
         : m_graph(state.graph)
         , m_ftlState(state)
-        , m_loweringSucceeded(true)
         , m_heaps(state.context)
         , m_out(state.context)
         , m_state(state.graph)
@@ -103,12 +102,8 @@
         , m_tbaaStructKind(mdKindID(state.context, "tbaa.struct"))
     {
     }
-
-
-#define LOWERING_FAILED(node, reason)                                  \
-    loweringFailed((node), __FILE__, __LINE__, WTF_PRETTY_FUNCTION, (reason));
-
-    bool lower()
+    
+    void lower()
     {
         CString name;
         if (verboseCompilationEnabled()) {
@@ -280,22 +275,14 @@
             case FlushedJSValue:
                 break;
             default:
-                LOWERING_FAILED(node, "Bad flush format for argument");
+                DFG_CRASH(m_graph, node, "Bad flush format for argument");
                 break;
             }
         }
-
-        if (!m_loweringSucceeded)
-            return m_loweringSucceeded;
-
         m_out.jump(lowBlock(m_graph.block(0)));
         
-        for (BasicBlock* block : preOrder) {
+        for (BasicBlock* block : preOrder)
             compileBlock(block);
-
-            if (!m_loweringSucceeded)
-                return m_loweringSucceeded;
-        }
         
         if (Options::dumpLLVMIR())
             dumpModule(m_ftlState.module);
@@ -304,8 +291,6 @@
             m_ftlState.dumpState("after lowering");
         if (validationEnabled())
             verifyModule(m_ftlState.module);
-
-        return m_loweringSucceeded;
     }
 
 private:
@@ -338,8 +323,8 @@
                     type = m_out.int64;
                     break;
                 default:
-                    LOWERING_FAILED(node, "Bad Phi node result type");
-                    return;
+                    DFG_CRASH(m_graph, node, "Bad Phi node result type");
+                    break;
                 }
                 m_phis.add(node, buildAlloca(m_out.m_builder, type));
             }
@@ -843,13 +828,10 @@
         case KillLocal:
             break;
         default:
-            LOWERING_FAILED(m_node, "Unrecognized node in FTL backend");
+            DFG_CRASH(m_graph, m_node, "Unrecognized node in FTL backend");
             break;
         }
 
-        if (!m_loweringSucceeded)
-            return false;
-
         if (!m_state.isValid()) {
             safelyInvalidateAfterTermination();
             return false;
@@ -885,7 +867,7 @@
             m_out.set(lowJSValue(m_node->child1()), destination);
             break;
         default:
-            LOWERING_FAILED(m_node, "Bad use kind");
+            DFG_CRASH(m_graph, m_node, "Bad use kind");
             break;
         }
     }
@@ -911,7 +893,7 @@
             setJSValue(m_out.get(source));
             break;
         default:
-            LOWERING_FAILED(m_node, "Bad use kind");
+            DFG_CRASH(m_graph, m_node, "Bad use kind");
             break;
         }
     }
@@ -949,7 +931,7 @@
         }
             
         default:
-            LOWERING_FAILED(m_node, "Bad use kind");
+            DFG_CRASH(m_graph, m_node, "Bad use kind");
         }
     }
     
@@ -974,7 +956,7 @@
         }
             
         default:
-            LOWERING_FAILED(m_node, "Bad use kind");
+            DFG_CRASH(m_graph, m_node, "Bad use kind");
         }
     }
     
@@ -1037,7 +1019,7 @@
         }
             
         default:
-            LOWERING_FAILED(m_node, "Bad use kind");
+            DFG_CRASH(m_graph, m_node, "Bad use kind");
             break;
         }
     }
@@ -1144,7 +1126,7 @@
         }
             
         default:
-            LOWERING_FAILED(m_node, "Bad flush format");
+            DFG_CRASH(m_graph, m_node, "Bad flush format");
             break;
         }
     }
@@ -1304,7 +1286,7 @@
         }
             
         default:
-            LOWERING_FAILED(m_node, "Bad use kind");
+            DFG_CRASH(m_graph, m_node, "Bad use kind");
             break;
         }
     }
@@ -1378,7 +1360,7 @@
         }
             
         default:
-            LOWERING_FAILED(m_node, "Bad use kind");
+            DFG_CRASH(m_graph, m_node, "Bad use kind");
             break;
         }
     }
@@ -1481,7 +1463,7 @@
         }
             
         default:
-            LOWERING_FAILED(m_node, "Bad use kind");
+            DFG_CRASH(m_graph, m_node, "Bad use kind");
             break;
         }
     }
@@ -1579,7 +1561,7 @@
         }
             
         default:
-            LOWERING_FAILED(m_node, "Bad use kind");
+            DFG_CRASH(m_graph, m_node, "Bad use kind");
             break;
         }
     }
@@ -1630,7 +1612,7 @@
         }
             
         default:
-            LOWERING_FAILED(m_node, "Bad use kind");
+            DFG_CRASH(m_graph, m_node, "Bad use kind");
             break;
         }
     }
@@ -1656,7 +1638,7 @@
         }
             
         default:
-            LOWERING_FAILED(m_node, "Bad use kind");
+            DFG_CRASH(m_graph, m_node, "Bad use kind");
             break;
         }
     }
@@ -1781,7 +1763,7 @@
         }
             
         default:
-            LOWERING_FAILED(m_node, "Bad use kind");
+            DFG_CRASH(m_graph, m_node, "Bad use kind");
             break;
         }
     }
@@ -1919,8 +1901,8 @@
             vmCall(m_out.operation(operationEnsureArrayStorage), m_callFrame, cell);
             break;
         default:
-            LOWERING_FAILED(m_node, "Bad array type");
-            return;
+            DFG_CRASH(m_graph, m_node, "Bad array type");
+            break;
         }
         
         structureID = m_out.load32(cell, m_heaps.JSCell_structureID);
@@ -1988,7 +1970,7 @@
         }
             
         default:
-            LOWERING_FAILED(m_node, "Bad use kind");
+            DFG_CRASH(m_graph, m_node, "Bad use kind");
             return;
         }
     }
@@ -2160,8 +2142,7 @@
             // FIXME: FTL should support activations.
             // https://bugs.webkit.org/show_bug.cgi?id=129576
             
-            LOWERING_FAILED(m_node, "Unimplemented");
-            return;
+            DFG_CRASH(m_graph, m_node, "Unimplemented");
         }
         
         TypedPointer base;
@@ -2207,7 +2188,7 @@
                 return;
             }
             
-            LOWERING_FAILED(m_node, "Bad array type");
+            DFG_CRASH(m_graph, m_node, "Bad array type");
             return;
         }
     }
@@ -2357,8 +2338,7 @@
                         result = m_out.load32(pointer);
                         break;
                     default:
-                        LOWERING_FAILED(m_node, "Bad element size");
-                        return;
+                        DFG_CRASH(m_graph, m_node, "Bad element size");
                     }
                     
                     if (elementSize(type) < 4) {
@@ -2402,15 +2382,14 @@
                     result = m_out.loadDouble(pointer);
                     break;
                 default:
-                    LOWERING_FAILED(m_node, "Bad typed array type");
-                    return;
+                    DFG_CRASH(m_graph, m_node, "Bad typed array type");
                 }
                 
                 setDouble(result);
                 return;
             }
             
-            LOWERING_FAILED(m_node, "Bad array type");
+            DFG_CRASH(m_graph, m_node, "Bad array type");
             return;
         } }
     }
@@ -2514,10 +2493,9 @@
                 m_out.storeDouble(value, elementPointer);
                 break;
             }
-
+                
             default:
-                LOWERING_FAILED(m_node, "Bad array type");
-                return;
+                DFG_CRASH(m_graph, m_node, "Bad array type");
             }
 
             m_out.jump(continuation);
@@ -2610,8 +2588,7 @@
                     }
                         
                     default:
-                        LOWERING_FAILED(m_node, "Bad use kind");
-                        return;
+                        DFG_CRASH(m_graph, m_node, "Bad use kind");
                     }
                     
                     switch (elementSize(type)) {
@@ -2628,8 +2605,7 @@
                         refType = m_out.ref32;
                         break;
                     default:
-                        LOWERING_FAILED(m_node, "Bad element size");
-                        return;
+                        DFG_CRASH(m_graph, m_node, "Bad element size");
                     }
                 } else /* !isInt(type) */ {
                     LValue value = lowDouble(child3);
@@ -2643,8 +2619,7 @@
                         refType = m_out.refDouble;
                         break;
                     default:
-                        LOWERING_FAILED(m_node, "Bad typed array type");
-                        return;
+                        DFG_CRASH(m_graph, m_node, "Bad typed array type");
                     }
                 }
                 
@@ -2668,8 +2643,8 @@
                 return;
             }
             
-            LOWERING_FAILED(m_node, "Bad array type");
-            return;
+            DFG_CRASH(m_graph, m_node, "Bad array type");
+            break;
         }
     }
     
@@ -2740,7 +2715,7 @@
         }
             
         default:
-            LOWERING_FAILED(m_node, "Bad array type");
+            DFG_CRASH(m_graph, m_node, "Bad array type");
             return;
         }
     }
@@ -2798,7 +2773,7 @@
         }
 
         default:
-            LOWERING_FAILED(m_node, "Bad array type");
+            DFG_CRASH(m_graph, m_node, "Bad array type");
             return;
         }
     }
@@ -2835,8 +2810,8 @@
                 switch (m_node->indexingType()) {
                 case ALL_BLANK_INDEXING_TYPES:
                 case ALL_UNDECIDED_INDEXING_TYPES:
-                    LOWERING_FAILED(m_node, "Bad indexing type");
-                    return;
+                    DFG_CRASH(m_graph, m_node, "Bad indexing type");
+                    break;
                     
                 case ALL_DOUBLE_INDEXING_TYPES:
                     m_out.storeDouble(
@@ -2853,8 +2828,8 @@
                     break;
                     
                 default:
-                    LOWERING_FAILED(m_node, "Corrupt indexing type");
-                    return;
+                    DFG_CRASH(m_graph, m_node, "Corrupt indexing type");
+                    break;
                 }
             }
             
@@ -3135,8 +3110,8 @@
         }
             
         default:
-            LOWERING_FAILED(m_node, "Bad use kind");
-            return;
+            DFG_CRASH(m_graph, m_node, "Bad use kind");
+            break;
         }
     }
     
@@ -3227,8 +3202,8 @@
                 m_out.operation(operationMakeRope3), m_callFrame, kids[0], kids[1], kids[2]));
             break;
         default:
-            LOWERING_FAILED(m_node, "Bad number of children");
-            return;
+            DFG_CRASH(m_graph, m_node, "Bad number of children");
+            break;
         }
         m_out.jump(continuation);
         
@@ -3648,8 +3623,8 @@
             nonSpeculativeCompare(LLVMIntEQ, operationCompareEq);
             return;
         }
-
-        LOWERING_FAILED(m_node, "Bad use kinds");
+        
+        DFG_CRASH(m_graph, m_node, "Bad use kinds");
     }
     
     void compileCompareEqConstant()
@@ -3742,7 +3717,7 @@
             return;
         }
         
-        LOWERING_FAILED(m_node, "Bad use kinds");
+        DFG_CRASH(m_graph, m_node, "Bad use kinds");
     }
     
     void compileCompareStrictEqConstant()
@@ -4009,8 +3984,8 @@
             }
                 
             default:
-                LOWERING_FAILED(m_node, "Bad use kind");
-                return;
+                DFG_CRASH(m_graph, m_node, "Bad use kind");
+                break;
             }
             
             m_out.appendTo(switchOnInts, lastNext);
@@ -4055,8 +4030,8 @@
             }
                 
             default:
-                LOWERING_FAILED(m_node, "Bad use kind");
-                return;
+                DFG_CRASH(m_graph, m_node, "Bad use kind");
+                break;
             }
             
             LBasicBlock lengthIs1 = FTL_NEW_BLOCK(m_out, ("Switch/SwitchChar length is 1"));
@@ -4108,7 +4083,7 @@
         }
         
         case SwitchString: {
-            LOWERING_FAILED(m_node, "Unimplemented");
+            DFG_CRASH(m_graph, m_node, "Unimplemented");
             return;
         }
             
@@ -4131,7 +4106,7 @@
             }
                 
             default:
-                LOWERING_FAILED(m_node, "Bad use kind");
+                DFG_CRASH(m_graph, m_node, "Bad use kind");
                 return;
             }
             
@@ -4139,7 +4114,7 @@
             return;
         } }
         
-        LOWERING_FAILED(m_node, "Bad switch kind");
+        DFG_CRASH(m_graph, m_node, "Bad switch kind");
     }
     
     void compileReturn()
@@ -5109,7 +5084,7 @@
             return;
         }
         
-        LOWERING_FAILED(m_node, "Bad use kinds");
+        DFG_CRASH(m_graph, m_node, "Bad use kinds");
     }
     
     void compareEqObjectOrOtherToObject(Edge leftChild, Edge rightChild)
@@ -5422,7 +5397,7 @@
             return m_out.phi(m_out.boolean, fastResult, slowResult);
         }
         default:
-            LOWERING_FAILED(m_node, "Bad use kind");
+            DFG_CRASH(m_graph, m_node, "Bad use kind");
             return 0;
         }
     }
@@ -5801,7 +5776,7 @@
         case StrictInt52:
             return Int52;
         }
-        LOWERING_FAILED(m_node, "Bad use kind");
+        DFG_CRASH(m_graph, m_node, "Bad use kind");
         return Int52;
     }
     
@@ -5945,7 +5920,7 @@
             return result;
         }
         
-        LOWERING_FAILED(m_node, "Value not defined");
+        DFG_CRASH(m_graph, m_node, "Value not defined");
         return 0;
     }
     
@@ -6260,8 +6235,7 @@
             speculateMisc(edge);
             break;
         default:
-            LOWERING_FAILED(m_node, "Unsupported speculation use kind");
-            return;
+            DFG_CRASH(m_graph, m_node, "Unsupported speculation use kind");
         }
     }
     
@@ -6322,7 +6296,7 @@
             
             switch (arrayMode.arrayClass()) {
             case Array::OriginalArray:
-                LOWERING_FAILED(m_node, "Unexpected original array");
+                DFG_CRASH(m_graph, m_node, "Unexpected original array");
                 return 0;
                 
             case Array::Array:
@@ -6342,8 +6316,7 @@
                     m_out.constInt8(arrayMode.shapeMask()));
             }
             
-            LOWERING_FAILED(m_node, "Corrupt array class");
-            return 0;
+            DFG_CRASH(m_graph, m_node, "Corrupt array class");
         }
             
         default:
@@ -6853,7 +6826,7 @@
             return ExitValue::argumentsObjectThatWasNotCreated();
         }
         
-        LOWERING_FAILED(m_node, "Invalid flush format");
+        DFG_CRASH(m_graph, m_node, "Invalid flush format");
         return ExitValue::dead();
     }
     
@@ -6926,7 +6899,7 @@
         if (isValid(value))
             return exitArgument(arguments, ValueFormatDouble, value.value());
 
-        LOWERING_FAILED(m_node, toCString("Cannot find value for node: ", node).data());
+        DFG_CRASH(m_graph, m_node, toCString("Cannot find value for node: ", node).data());
         return ExitValue::dead();
     }
     
@@ -6984,7 +6957,7 @@
             return;
         }
         
-        LOWERING_FAILED(m_node, "Corrupt int52 kind");
+        DFG_CRASH(m_graph, m_node, "Corrupt int52 kind");
     }
     void setJSValue(Node* node, LValue value)
     {
@@ -7139,20 +7112,6 @@
         m_out.unreachable();
     }
 
-    NO_RETURN_DUE_TO_ASSERT void loweringFailed(Node* node, const char* file, int line, const char* function, const char* assertion)
-    {
-#ifndef NDEBUG
-        m_graph.handleAssertionFailure(node, file, line, function, (assertion));
-#else
-        UNUSED_PARAM(node);
-        UNUSED_PARAM(file);
-        UNUSED_PARAM(line);
-        UNUSED_PARAM(function);
-        UNUSED_PARAM(assertion);
-#endif
-        m_loweringSucceeded = false;
-    }
-
     AvailabilityMap& availabilityMap() { return m_availabilityCalculator.m_availability; }
     
     VM& vm() { return m_graph.m_vm; }
@@ -7160,7 +7119,6 @@
     
     Graph& m_graph;
     State& m_ftlState;
-    bool m_loweringSucceeded;
     AbstractHeapRepository m_heaps;
     Output m_out;
     
@@ -7208,14 +7166,12 @@
     uint32_t m_stackmapIDs;
     unsigned m_tbaaKind;
     unsigned m_tbaaStructKind;
-
-#undef LOWERING_FAILED
 };
 
-bool lowerDFGToLLVM(State& state)
+void lowerDFGToLLVM(State& state)
 {
     LowerDFGToLLVM lowering(state);
-    return lowering.lower();
+    lowering.lower();
 }
 
 } } // namespace JSC::FTL

Modified: trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.h (180316 => 180317)


--- trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.h	2015-02-18 23:50:12 UTC (rev 180316)
+++ trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.h	2015-02-18 23:52:16 UTC (rev 180317)
@@ -33,7 +33,7 @@
 
 namespace JSC { namespace FTL {
 
-bool lowerDFGToLLVM(State&);
+void lowerDFGToLLVM(State&);
 
 } } // namespace JSC::FTL
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to