<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Let me add more to the first paragraph.<br class=""><div><blockquote type="cite" class=""><div class="">On Feb 18, 2015, at 4:12 PM, Michael Saboff &lt;<a href="mailto:msaboff@apple.com" class="">msaboff@apple.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Phil is adamant that we should eliminate this from trunk. &nbsp;He believes it is the best solution for avoiding the crash in&nbsp;&lt;<a href="rdar://problem/17198412" class="">rdar://problem/17198412</a>&gt; CrashTracer: DFG_CRASH beneath JSC::FTL::LowerDFGToLLVM::compileNode, and thinks it is less risky than the fix for&nbsp;&lt;<a href="rdar://problem/19187718" class="">rdar://problem/19187718</a>&gt; Crash in JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq (139398).</div></div></blockquote><div>He believe that the change for&nbsp;<a href="rdar://problem/17198412" class="">rdar://problem/17198412</a>&nbsp;is the lowest risk for the branch, but&nbsp;<a href="rdar://problem/19187718" class="">rdar://problem/19187718</a>&nbsp;is the best for trunk.</div><br class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><br class=""></div><div class="">He believes that we lose information by not crashing in internal release builds during our testing. &nbsp;He prefers that we have a comprehensive fail-the-compile-but continue solution for both the DFG and FTL.</div><div class=""><br class=""></div><div class="">We haven’t committed it to the branch, but I suggested that we only commit this change and not the capabilities check landed for&nbsp;&lt;<a href="rdar://problem/19187718" class="">rdar://problem/19187718</a>&gt; to the branch. &nbsp;I updated&nbsp;<a href="rdar://problem/17198412" class="">rdar://problem/17198412</a>&nbsp;and its clone&nbsp;<a href="rdar://problem/19877186" class="">rdar://problem/19877186</a>&nbsp;accordingly. &nbsp;It doesn’t look like&nbsp;<a href="rdar://problem/19187718" class="">rdar://problem/19187718</a>&nbsp;had been cloned for the branch.</div><div class=""><br class=""></div><div class="">- Michael<br class=""><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Feb 18, 2015, at 3:54 PM, Geoffrey Garen &lt;<a href="mailto:ggaren@apple.com" class="">ggaren@apple.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">If there’s something incorrect or incomplete about this change, and/or if it’s gone from TOT, I don’t agree that we should commit it to the branch.<div class=""><br class=""></div><div class="">Have we committed the change to the branch?</div><div class=""><br class=""></div><div class="">Is there still a Radar proposing committing the change to the branch?</div><div class=""><br class=""></div><div class="">Geoff</div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Feb 18, 2015, at 3:52 PM, <a href="mailto:msaboff@apple.com" class="">msaboff@apple.com</a> wrote:</div><br class="Apple-interchange-newline"><div class=""><div id="msg" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><dl class="meta" style="font-family: verdana, arial, helvetica, sans-serif; font-size: 10pt; border: 1px solid rgb(0, 0, 102); background-color: rgb(51, 102, 153); padding: 6px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;"><dt style="font-family: verdana, arial, helvetica, sans-serif; font-size: 10pt; float: left; width: 6em; font-weight: bold;" class="">Revision</dt><dd class=""><a href="http://trac.webkit.org/projects/webkit/changeset/180317" style="font-weight: bold; color: rgb(204, 204, 102);" class="">180317</a></dd><dt style="font-family: verdana, arial, helvetica, sans-serif; font-size: 10pt; float: left; width: 6em; font-weight: bold;" class="">Author</dt><dd class=""><a href="mailto:msaboff@apple.com" style="font-weight: bold; color: rgb(204, 204, 102);" class="">msaboff@apple.com</a></dd><dt style="font-family: verdana, arial, helvetica, sans-serif; font-size: 10pt; float: left; width: 6em; font-weight: bold;" class="">Date</dt><dd class="">2015-02-18 15:52:16 -0800 (Wed, 18 Feb 2015)</dd></dl><h3 style="font-family: verdana, arial, helvetica, sans-serif; font-size: 10pt; font-weight: bold;" class="">Log Message</h3><pre style="overflow: auto; background-color: rgb(255, 255, 204); border: 1px solid rgb(255, 170, 0); padding: 6px; background-position: initial initial; background-repeat: initial initial;" class="">Rollout <a href="http://trac.webkit.org/projects/webkit/changeset/180247" class="">r180247</a> &amp; <a href="http://trac.webkit.org/projects/webkit/changeset/180249" class="">r180249</a> from trunk
<a href="https://bugs.webkit.org/show_bug.cgi?id=141773" class="">https://bugs.webkit.org/show_bug.cgi?id=141773</a>

Reviewed by Filip Pizlo.

Theses changes makes sense to fix the crash reported in <a href="https://bugs.webkit.org/show_bug.cgi?id=141730" class="">https://bugs.webkit.org/show_bug.cgi?id=141730</a>
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:</pre><h3 style="font-family: verdana, arial, helvetica, sans-serif; font-size: 10pt; font-weight: bold;" class="">Modified Paths</h3><ul style="font-family: verdana, arial, helvetica, sans-serif; font-size: 10pt;" class=""><li style="font-family: verdana, arial, helvetica, sans-serif; font-size: 10pt;" class=""><a href="x-msg://9/#trunkSourceJavaScriptCoreChangeLog" class="">trunk/Source/JavaScriptCore/ChangeLog</a></li><li style="font-family: verdana, arial, helvetica, sans-serif; font-size: 10pt;" class=""><a href="x-msg://9/#trunkSourceJavaScriptCoredfgDFGPlancpp" class="">trunk/Source/JavaScriptCore/dfg/DFGPlan.cpp</a></li><li style="font-family: verdana, arial, helvetica, sans-serif; font-size: 10pt;" class=""><a href="x-msg://9/#trunkSourceJavaScriptCoreftlFTLLowerDFGToLLVMcpp" class="">trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp</a></li><li style="font-family: verdana, arial, helvetica, sans-serif; font-size: 10pt;" class=""><a href="x-msg://9/#trunkSourceJavaScriptCoreftlFTLLowerDFGToLLVMh" class="">trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.h</a></li></ul></div><div id="patch" style="width: 1002px; font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><h3 style="font-family: verdana, arial, helvetica, sans-serif; font-size: 10pt; font-weight: bold;" class="">Diff</h3><a id="trunkSourceJavaScriptCoreChangeLog" class=""></a><div class="modfile" style="border: 1px solid rgb(204, 204, 204); margin: 10px 0px;"><h4 style="font-family: verdana, arial, helvetica, sans-serif; font-size: 10pt; padding: 8px; background-color: rgb(51, 102, 153); color: rgb(255, 255, 255); margin: 0px; background-position: initial initial; background-repeat: initial initial;" class="">Modified: trunk/Source/JavaScriptCore/ChangeLog (180316 =&gt; 180317)</h4><pre class="diff" style="padding: 0px 0px 10px; line-height: 1.2em; margin: 0px; width: 1000px; background-color: rgb(238, 238, 238); overflow: auto; background-position: initial initial; background-repeat: initial initial;"><span style="display: block; padding: 0px 10px;" class="">
<span class="info" style="color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;">--- trunk/Source/JavaScriptCore/ChangeLog        2015-02-18 23:50:12 UTC (rev 180316)
+++ trunk/Source/JavaScriptCore/ChangeLog        2015-02-18 23:52:16 UTC (rev 180317)
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -1,3 +1,61 @@
</span><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+2015-02-18  Michael Saboff  &lt;<a href="mailto:msaboff@apple.com" class="">msaboff@apple.com</a>&gt;
+
+        Rollout r180247 &amp; r180249 from trunk
+        <a href="https://bugs.webkit.org/show_bug.cgi?id=141773" class="">https://bugs.webkit.org/show_bug.cgi?id=141773</a>
+
+        Reviewed by Filip Pizlo.
+
+        Theses changes makes sense to fix the crash reported in <a href="https://bugs.webkit.org/show_bug.cgi?id=141730" class="">https://bugs.webkit.org/show_bug.cgi?id=141730</a>
+        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:
+
</ins><span class="cx" style="display: block; padding: 0px 10px;"> 2015-02-18  Filip Pizlo  &lt;<a href="mailto:fpizlo@apple.com" class="">fpizlo@apple.com</a>&gt;
</span><span class="cx" style="display: block; padding: 0px 10px;"> 
</span><span class="cx" style="display: block; padding: 0px 10px;">         DFG should really support varargs
</span></span></pre></div><a id="trunkSourceJavaScriptCoredfgDFGPlancpp" class=""></a><div class="modfile" style="border: 1px solid rgb(204, 204, 204); margin: 10px 0px;"><h4 style="font-family: verdana, arial, helvetica, sans-serif; font-size: 10pt; padding: 8px; background-color: rgb(51, 102, 153); color: rgb(255, 255, 255); margin: 0px; background-position: initial initial; background-repeat: initial initial;" class="">Modified: trunk/Source/JavaScriptCore/dfg/DFGPlan.cpp (180316 =&gt; 180317)</h4><pre class="diff" style="padding: 0px 0px 10px; line-height: 1.2em; margin: 0px; width: 1000px; background-color: rgb(238, 238, 238); overflow: auto; background-position: initial initial; background-repeat: initial initial;"><span style="display: block; padding: 0px 10px;" class="">
<span class="info" style="color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;">--- trunk/Source/JavaScriptCore/dfg/DFGPlan.cpp        2015-02-18 23:50:12 UTC (rev 180316)
+++ trunk/Source/JavaScriptCore/dfg/DFGPlan.cpp        2015-02-18 23:52:16 UTC (rev 180317)
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -386,10 +386,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;"> 
</span><span class="cx" style="display: block; padding: 0px 10px;">         FTL::State state(dfg);
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-        if (!FTL::lowerDFGToLLVM(state)) {
-            FTL::fail(state);
-            return FTLPath;
-        }
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+        FTL::lowerDFGToLLVM(state);
</ins><span class="cx" style="display: block; padding: 0px 10px;">         
</span><span class="cx" style="display: block; padding: 0px 10px;">         if (reportCompileTimes())
</span><span class="cx" style="display: block; padding: 0px 10px;">             m_timeBeforeFTL = monotonicallyIncreasingTime();
</span></span></pre></div><a id="trunkSourceJavaScriptCoreftlFTLLowerDFGToLLVMcpp" class=""></a><div class="modfile" style="border: 1px solid rgb(204, 204, 204); margin: 10px 0px;"><h4 style="font-family: verdana, arial, helvetica, sans-serif; font-size: 10pt; padding: 8px; background-color: rgb(51, 102, 153); color: rgb(255, 255, 255); margin: 0px; background-position: initial initial; background-repeat: initial initial;" class="">Modified: trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp (180316 =&gt; 180317)</h4><pre class="diff" style="padding: 0px 0px 10px; line-height: 1.2em; margin: 0px; width: 1000px; background-color: rgb(238, 238, 238); overflow: auto; background-position: initial initial; background-repeat: initial initial;"><span style="display: block; padding: 0px 10px;" class="">
<span class="info" style="color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;">--- trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp        2015-02-18 23:50:12 UTC (rev 180316)
+++ trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp        2015-02-18 23:52:16 UTC (rev 180317)
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -93,7 +93,6 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">     LowerDFGToLLVM(State&amp; state)
</span><span class="cx" style="display: block; padding: 0px 10px;">         : m_graph(state.graph)
</span><span class="cx" style="display: block; padding: 0px 10px;">         , m_ftlState(state)
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-        , m_loweringSucceeded(true)
</del><span class="cx" style="display: block; padding: 0px 10px;">         , m_heaps(state.context)
</span><span class="cx" style="display: block; padding: 0px 10px;">         , m_out(state.context)
</span><span class="cx" style="display: block; padding: 0px 10px;">         , m_state(state.graph)
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -103,12 +102,8 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         , m_tbaaStructKind(mdKindID(state.context, "tbaa.struct"))
</span><span class="cx" style="display: block; padding: 0px 10px;">     {
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-
-
-#define LOWERING_FAILED(node, reason)                                  \
-    loweringFailed((node), __FILE__, __LINE__, WTF_PRETTY_FUNCTION, (reason));
-
-    bool lower()
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+    
+    void lower()
</ins><span class="cx" style="display: block; padding: 0px 10px;">     {
</span><span class="cx" style="display: block; padding: 0px 10px;">         CString name;
</span><span class="cx" style="display: block; padding: 0px 10px;">         if (verboseCompilationEnabled()) {
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -280,22 +275,14 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">             case FlushedJSValue:
</span><span class="cx" style="display: block; padding: 0px 10px;">                 break;
</span><span class="cx" style="display: block; padding: 0px 10px;">             default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-                LOWERING_FAILED(node, "Bad flush format for argument");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+                DFG_CRASH(m_graph, node, "Bad flush format for argument");
</ins><span class="cx" style="display: block; padding: 0px 10px;">                 break;
</span><span class="cx" style="display: block; padding: 0px 10px;">             }
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-
-        if (!m_loweringSucceeded)
-            return m_loweringSucceeded;
-
</del><span class="cx" style="display: block; padding: 0px 10px;">         m_out.jump(lowBlock(m_graph.block(0)));
</span><span class="cx" style="display: block; padding: 0px 10px;">         
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-        for (BasicBlock* block : preOrder) {
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+        for (BasicBlock* block : preOrder)
</ins><span class="cx" style="display: block; padding: 0px 10px;">             compileBlock(block);
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-
-            if (!m_loweringSucceeded)
-                return m_loweringSucceeded;
-        }
</del><span class="cx" style="display: block; padding: 0px 10px;">         
</span><span class="cx" style="display: block; padding: 0px 10px;">         if (Options::dumpLLVMIR())
</span><span class="cx" style="display: block; padding: 0px 10px;">             dumpModule(m_ftlState.module);
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -304,8 +291,6 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">             m_ftlState.dumpState("after lowering");
</span><span class="cx" style="display: block; padding: 0px 10px;">         if (validationEnabled())
</span><span class="cx" style="display: block; padding: 0px 10px;">             verifyModule(m_ftlState.module);
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-
-        return m_loweringSucceeded;
</del><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="cx" style="display: block; padding: 0px 10px;"> 
</span><span class="cx" style="display: block; padding: 0px 10px;"> private:
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -338,8 +323,8 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">                     type = m_out.int64;
</span><span class="cx" style="display: block; padding: 0px 10px;">                     break;
</span><span class="cx" style="display: block; padding: 0px 10px;">                 default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-                    LOWERING_FAILED(node, "Bad Phi node result type");
-                    return;
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+                    DFG_CRASH(m_graph, node, "Bad Phi node result type");
+                    break;
</ins><span class="cx" style="display: block; padding: 0px 10px;">                 }
</span><span class="cx" style="display: block; padding: 0px 10px;">                 m_phis.add(node, buildAlloca(m_out.m_builder, type));
</span><span class="cx" style="display: block; padding: 0px 10px;">             }
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -843,13 +828,10 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         case KillLocal:
</span><span class="cx" style="display: block; padding: 0px 10px;">             break;
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Unrecognized node in FTL backend");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Unrecognized node in FTL backend");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             break;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;"> 
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-        if (!m_loweringSucceeded)
-            return false;
-
</del><span class="cx" style="display: block; padding: 0px 10px;">         if (!m_state.isValid()) {
</span><span class="cx" style="display: block; padding: 0px 10px;">             safelyInvalidateAfterTermination();
</span><span class="cx" style="display: block; padding: 0px 10px;">             return false;
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -885,7 +867,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">             m_out.set(lowJSValue(m_node-&gt;child1()), destination);
</span><span class="cx" style="display: block; padding: 0px 10px;">             break;
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad use kind");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad use kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             break;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -911,7 +893,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">             setJSValue(m_out.get(source));
</span><span class="cx" style="display: block; padding: 0px 10px;">             break;
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad use kind");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad use kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             break;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -949,7 +931,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad use kind");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad use kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="cx" style="display: block; padding: 0px 10px;">     
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -974,7 +956,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad use kind");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad use kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="cx" style="display: block; padding: 0px 10px;">     
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -1037,7 +1019,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad use kind");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad use kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             break;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -1144,7 +1126,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad flush format");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad flush format");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             break;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -1304,7 +1286,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad use kind");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad use kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             break;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -1378,7 +1360,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad use kind");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad use kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             break;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -1481,7 +1463,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad use kind");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad use kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             break;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -1579,7 +1561,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad use kind");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad use kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             break;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -1630,7 +1612,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad use kind");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad use kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             break;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -1656,7 +1638,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad use kind");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad use kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             break;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -1781,7 +1763,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad use kind");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad use kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             break;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -1919,8 +1901,8 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">             vmCall(m_out.operation(operationEnsureArrayStorage), m_callFrame, cell);
</span><span class="cx" style="display: block; padding: 0px 10px;">             break;
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad array type");
-            return;
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad array type");
+            break;
</ins><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">         
</span><span class="cx" style="display: block; padding: 0px 10px;">         structureID = m_out.load32(cell, m_heaps.JSCell_structureID);
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -1988,7 +1970,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad use kind");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad use kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             return;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -2160,8 +2142,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">             // FIXME: FTL should support activations.
</span><span class="cx" style="display: block; padding: 0px 10px;">             // <a href="https://bugs.webkit.org/show_bug.cgi?id=129576" class="">https://bugs.webkit.org/show_bug.cgi?id=129576</a>
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Unimplemented");
-            return;
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Unimplemented");
</ins><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">         
</span><span class="cx" style="display: block; padding: 0px 10px;">         TypedPointer base;
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -2207,7 +2188,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">                 return;
</span><span class="cx" style="display: block; padding: 0px 10px;">             }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad array type");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad array type");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             return;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -2357,8 +2338,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">                         result = m_out.load32(pointer);
</span><span class="cx" style="display: block; padding: 0px 10px;">                         break;
</span><span class="cx" style="display: block; padding: 0px 10px;">                     default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-                        LOWERING_FAILED(m_node, "Bad element size");
-                        return;
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+                        DFG_CRASH(m_graph, m_node, "Bad element size");
</ins><span class="cx" style="display: block; padding: 0px 10px;">                     }
</span><span class="cx" style="display: block; padding: 0px 10px;">                     
</span><span class="cx" style="display: block; padding: 0px 10px;">                     if (elementSize(type) &lt; 4) {
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -2402,15 +2382,14 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">                     result = m_out.loadDouble(pointer);
</span><span class="cx" style="display: block; padding: 0px 10px;">                     break;
</span><span class="cx" style="display: block; padding: 0px 10px;">                 default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-                    LOWERING_FAILED(m_node, "Bad typed array type");
-                    return;
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+                    DFG_CRASH(m_graph, m_node, "Bad typed array type");
</ins><span class="cx" style="display: block; padding: 0px 10px;">                 }
</span><span class="cx" style="display: block; padding: 0px 10px;">                 
</span><span class="cx" style="display: block; padding: 0px 10px;">                 setDouble(result);
</span><span class="cx" style="display: block; padding: 0px 10px;">                 return;
</span><span class="cx" style="display: block; padding: 0px 10px;">             }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad array type");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad array type");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             return;
</span><span class="cx" style="display: block; padding: 0px 10px;">         } }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -2514,10 +2493,9 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">                 m_out.storeDouble(value, elementPointer);
</span><span class="cx" style="display: block; padding: 0px 10px;">                 break;
</span><span class="cx" style="display: block; padding: 0px 10px;">             }
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+                
</ins><span class="cx" style="display: block; padding: 0px 10px;">             default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-                LOWERING_FAILED(m_node, "Bad array type");
-                return;
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+                DFG_CRASH(m_graph, m_node, "Bad array type");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             }
</span><span class="cx" style="display: block; padding: 0px 10px;"> 
</span><span class="cx" style="display: block; padding: 0px 10px;">             m_out.jump(continuation);
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -2610,8 +2588,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">                     }
</span><span class="cx" style="display: block; padding: 0px 10px;">                         
</span><span class="cx" style="display: block; padding: 0px 10px;">                     default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-                        LOWERING_FAILED(m_node, "Bad use kind");
-                        return;
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+                        DFG_CRASH(m_graph, m_node, "Bad use kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">                     }
</span><span class="cx" style="display: block; padding: 0px 10px;">                     
</span><span class="cx" style="display: block; padding: 0px 10px;">                     switch (elementSize(type)) {
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -2628,8 +2605,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">                         refType = m_out.ref32;
</span><span class="cx" style="display: block; padding: 0px 10px;">                         break;
</span><span class="cx" style="display: block; padding: 0px 10px;">                     default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-                        LOWERING_FAILED(m_node, "Bad element size");
-                        return;
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+                        DFG_CRASH(m_graph, m_node, "Bad element size");
</ins><span class="cx" style="display: block; padding: 0px 10px;">                     }
</span><span class="cx" style="display: block; padding: 0px 10px;">                 } else /* !isInt(type) */ {
</span><span class="cx" style="display: block; padding: 0px 10px;">                     LValue value = lowDouble(child3);
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -2643,8 +2619,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">                         refType = m_out.refDouble;
</span><span class="cx" style="display: block; padding: 0px 10px;">                         break;
</span><span class="cx" style="display: block; padding: 0px 10px;">                     default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-                        LOWERING_FAILED(m_node, "Bad typed array type");
-                        return;
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+                        DFG_CRASH(m_graph, m_node, "Bad typed array type");
</ins><span class="cx" style="display: block; padding: 0px 10px;">                     }
</span><span class="cx" style="display: block; padding: 0px 10px;">                 }
</span><span class="cx" style="display: block; padding: 0px 10px;">                 
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -2668,8 +2643,8 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">                 return;
</span><span class="cx" style="display: block; padding: 0px 10px;">             }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad array type");
-            return;
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad array type");
+            break;
</ins><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="cx" style="display: block; padding: 0px 10px;">     
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -2740,7 +2715,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad array type");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad array type");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             return;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -2798,7 +2773,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;"> 
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad array type");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad array type");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             return;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -2835,8 +2810,8 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">                 switch (m_node-&gt;indexingType()) {
</span><span class="cx" style="display: block; padding: 0px 10px;">                 case ALL_BLANK_INDEXING_TYPES:
</span><span class="cx" style="display: block; padding: 0px 10px;">                 case ALL_UNDECIDED_INDEXING_TYPES:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-                    LOWERING_FAILED(m_node, "Bad indexing type");
-                    return;
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+                    DFG_CRASH(m_graph, m_node, "Bad indexing type");
+                    break;
</ins><span class="cx" style="display: block; padding: 0px 10px;">                     
</span><span class="cx" style="display: block; padding: 0px 10px;">                 case ALL_DOUBLE_INDEXING_TYPES:
</span><span class="cx" style="display: block; padding: 0px 10px;">                     m_out.storeDouble(
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -2853,8 +2828,8 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">                     break;
</span><span class="cx" style="display: block; padding: 0px 10px;">                     
</span><span class="cx" style="display: block; padding: 0px 10px;">                 default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-                    LOWERING_FAILED(m_node, "Corrupt indexing type");
-                    return;
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+                    DFG_CRASH(m_graph, m_node, "Corrupt indexing type");
+                    break;
</ins><span class="cx" style="display: block; padding: 0px 10px;">                 }
</span><span class="cx" style="display: block; padding: 0px 10px;">             }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -3135,8 +3110,8 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad use kind");
-            return;
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad use kind");
+            break;
</ins><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="cx" style="display: block; padding: 0px 10px;">     
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -3227,8 +3202,8 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">                 m_out.operation(operationMakeRope3), m_callFrame, kids[0], kids[1], kids[2]));
</span><span class="cx" style="display: block; padding: 0px 10px;">             break;
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad number of children");
-            return;
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad number of children");
+            break;
</ins><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">         m_out.jump(continuation);
</span><span class="cx" style="display: block; padding: 0px 10px;">         
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -3648,8 +3623,8 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">             nonSpeculativeCompare(LLVMIntEQ, operationCompareEq);
</span><span class="cx" style="display: block; padding: 0px 10px;">             return;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-
-        LOWERING_FAILED(m_node, "Bad use kinds");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+        
+        DFG_CRASH(m_graph, m_node, "Bad use kinds");
</ins><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="cx" style="display: block; padding: 0px 10px;">     
</span><span class="cx" style="display: block; padding: 0px 10px;">     void compileCompareEqConstant()
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -3742,7 +3717,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">             return;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">         
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-        LOWERING_FAILED(m_node, "Bad use kinds");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+        DFG_CRASH(m_graph, m_node, "Bad use kinds");
</ins><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="cx" style="display: block; padding: 0px 10px;">     
</span><span class="cx" style="display: block; padding: 0px 10px;">     void compileCompareStrictEqConstant()
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -4009,8 +3984,8 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">             }
</span><span class="cx" style="display: block; padding: 0px 10px;">                 
</span><span class="cx" style="display: block; padding: 0px 10px;">             default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-                LOWERING_FAILED(m_node, "Bad use kind");
-                return;
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+                DFG_CRASH(m_graph, m_node, "Bad use kind");
+                break;
</ins><span class="cx" style="display: block; padding: 0px 10px;">             }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="cx" style="display: block; padding: 0px 10px;">             m_out.appendTo(switchOnInts, lastNext);
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -4055,8 +4030,8 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">             }
</span><span class="cx" style="display: block; padding: 0px 10px;">                 
</span><span class="cx" style="display: block; padding: 0px 10px;">             default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-                LOWERING_FAILED(m_node, "Bad use kind");
-                return;
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+                DFG_CRASH(m_graph, m_node, "Bad use kind");
+                break;
</ins><span class="cx" style="display: block; padding: 0px 10px;">             }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="cx" style="display: block; padding: 0px 10px;">             LBasicBlock lengthIs1 = FTL_NEW_BLOCK(m_out, ("Switch/SwitchChar length is 1"));
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -4108,7 +4083,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">         
</span><span class="cx" style="display: block; padding: 0px 10px;">         case SwitchString: {
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Unimplemented");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Unimplemented");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             return;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -4131,7 +4106,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">             }
</span><span class="cx" style="display: block; padding: 0px 10px;">                 
</span><span class="cx" style="display: block; padding: 0px 10px;">             default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-                LOWERING_FAILED(m_node, "Bad use kind");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+                DFG_CRASH(m_graph, m_node, "Bad use kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">                 return;
</span><span class="cx" style="display: block; padding: 0px 10px;">             }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -4139,7 +4114,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">             return;
</span><span class="cx" style="display: block; padding: 0px 10px;">         } }
</span><span class="cx" style="display: block; padding: 0px 10px;">         
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-        LOWERING_FAILED(m_node, "Bad switch kind");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+        DFG_CRASH(m_graph, m_node, "Bad switch kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="cx" style="display: block; padding: 0px 10px;">     
</span><span class="cx" style="display: block; padding: 0px 10px;">     void compileReturn()
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -5109,7 +5084,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">             return;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">         
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-        LOWERING_FAILED(m_node, "Bad use kinds");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+        DFG_CRASH(m_graph, m_node, "Bad use kinds");
</ins><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="cx" style="display: block; padding: 0px 10px;">     
</span><span class="cx" style="display: block; padding: 0px 10px;">     void compareEqObjectOrOtherToObject(Edge leftChild, Edge rightChild)
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -5422,7 +5397,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">             return m_out.phi(m_out.boolean, fastResult, slowResult);
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Bad use kind");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Bad use kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">             return 0;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -5801,7 +5776,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         case StrictInt52:
</span><span class="cx" style="display: block; padding: 0px 10px;">             return Int52;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-        LOWERING_FAILED(m_node, "Bad use kind");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+        DFG_CRASH(m_graph, m_node, "Bad use kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">         return Int52;
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="cx" style="display: block; padding: 0px 10px;">     
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -5945,7 +5920,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">             return result;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">         
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-        LOWERING_FAILED(m_node, "Value not defined");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+        DFG_CRASH(m_graph, m_node, "Value not defined");
</ins><span class="cx" style="display: block; padding: 0px 10px;">         return 0;
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="cx" style="display: block; padding: 0px 10px;">     
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -6260,8 +6235,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">             speculateMisc(edge);
</span><span class="cx" style="display: block; padding: 0px 10px;">             break;
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Unsupported speculation use kind");
-            return;
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Unsupported speculation use kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="cx" style="display: block; padding: 0px 10px;">     
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -6322,7 +6296,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="cx" style="display: block; padding: 0px 10px;">             switch (arrayMode.arrayClass()) {
</span><span class="cx" style="display: block; padding: 0px 10px;">             case Array::OriginalArray:
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-                LOWERING_FAILED(m_node, "Unexpected original array");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+                DFG_CRASH(m_graph, m_node, "Unexpected original array");
</ins><span class="cx" style="display: block; padding: 0px 10px;">                 return 0;
</span><span class="cx" style="display: block; padding: 0px 10px;">                 
</span><span class="cx" style="display: block; padding: 0px 10px;">             case Array::Array:
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -6342,8 +6316,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">                     m_out.constInt8(arrayMode.shapeMask()));
</span><span class="cx" style="display: block; padding: 0px 10px;">             }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-            LOWERING_FAILED(m_node, "Corrupt array class");
-            return 0;
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+            DFG_CRASH(m_graph, m_node, "Corrupt array class");
</ins><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">             
</span><span class="cx" style="display: block; padding: 0px 10px;">         default:
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -6853,7 +6826,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">             return ExitValue::argumentsObjectThatWasNotCreated();
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">         
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-        LOWERING_FAILED(m_node, "Invalid flush format");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+        DFG_CRASH(m_graph, m_node, "Invalid flush format");
</ins><span class="cx" style="display: block; padding: 0px 10px;">         return ExitValue::dead();
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="cx" style="display: block; padding: 0px 10px;">     
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -6926,7 +6899,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         if (isValid(value))
</span><span class="cx" style="display: block; padding: 0px 10px;">             return exitArgument(arguments, ValueFormatDouble, value.value());
</span><span class="cx" style="display: block; padding: 0px 10px;"> 
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-        LOWERING_FAILED(m_node, toCString("Cannot find value for node: ", node).data());
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+        DFG_CRASH(m_graph, m_node, toCString("Cannot find value for node: ", node).data());
</ins><span class="cx" style="display: block; padding: 0px 10px;">         return ExitValue::dead();
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="cx" style="display: block; padding: 0px 10px;">     
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -6984,7 +6957,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">             return;
</span><span class="cx" style="display: block; padding: 0px 10px;">         }
</span><span class="cx" style="display: block; padding: 0px 10px;">         
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-        LOWERING_FAILED(m_node, "Corrupt int52 kind");
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+        DFG_CRASH(m_graph, m_node, "Corrupt int52 kind");
</ins><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="cx" style="display: block; padding: 0px 10px;">     void setJSValue(Node* node, LValue value)
</span><span class="cx" style="display: block; padding: 0px 10px;">     {
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -7139,20 +7112,6 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">         m_out.unreachable();
</span><span class="cx" style="display: block; padding: 0px 10px;">     }
</span><span class="cx" style="display: block; padding: 0px 10px;"> 
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-    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;
-    }
-
</del><span class="cx" style="display: block; padding: 0px 10px;">     AvailabilityMap&amp; availabilityMap() { return m_availabilityCalculator.m_availability; }
</span><span class="cx" style="display: block; padding: 0px 10px;">     
</span><span class="cx" style="display: block; padding: 0px 10px;">     VM&amp; vm() { return m_graph.m_vm; }
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -7160,7 +7119,6 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">     
</span><span class="cx" style="display: block; padding: 0px 10px;">     Graph&amp; m_graph;
</span><span class="cx" style="display: block; padding: 0px 10px;">     State&amp; m_ftlState;
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-    bool m_loweringSucceeded;
</del><span class="cx" style="display: block; padding: 0px 10px;">     AbstractHeapRepository m_heaps;
</span><span class="cx" style="display: block; padding: 0px 10px;">     Output m_out;
</span><span class="cx" style="display: block; padding: 0px 10px;">     
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -7208,14 +7166,12 @@
</span><span class="cx" style="display: block; padding: 0px 10px;">     uint32_t m_stackmapIDs;
</span><span class="cx" style="display: block; padding: 0px 10px;">     unsigned m_tbaaKind;
</span><span class="cx" style="display: block; padding: 0px 10px;">     unsigned m_tbaaStructKind;
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-
-#undef LOWERING_FAILED
</del><span class="cx" style="display: block; padding: 0px 10px;"> };
</span><span class="cx" style="display: block; padding: 0px 10px;"> 
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-bool lowerDFGToLLVM(State&amp; state)
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+void lowerDFGToLLVM(State&amp; state)
</ins><span class="cx" style="display: block; padding: 0px 10px;"> {
</span><span class="cx" style="display: block; padding: 0px 10px;">     LowerDFGToLLVM lowering(state);
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-    return lowering.lower();
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+    lowering.lower();
</ins><span class="cx" style="display: block; padding: 0px 10px;"> }
</span><span class="cx" style="display: block; padding: 0px 10px;"> 
</span><span class="cx" style="display: block; padding: 0px 10px;"> } } // namespace JSC::FTL
</span></span></pre></div><a id="trunkSourceJavaScriptCoreftlFTLLowerDFGToLLVMh" class=""></a><div class="modfile" style="border: 1px solid rgb(204, 204, 204); margin: 10px 0px;"><h4 style="font-family: verdana, arial, helvetica, sans-serif; font-size: 10pt; padding: 8px; background-color: rgb(51, 102, 153); color: rgb(255, 255, 255); margin: 0px; background-position: initial initial; background-repeat: initial initial;" class="">Modified: trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.h (180316 =&gt; 180317)</h4><pre class="diff" style="padding: 0px 0px 10px; line-height: 1.2em; margin: 0px; width: 1000px; background-color: rgb(238, 238, 238); overflow: auto; background-position: initial initial; background-repeat: initial initial;"><span style="display: block; padding: 0px 10px;" class="">
<span class="info" style="color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;">--- trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.h        2015-02-18 23:50:12 UTC (rev 180316)
+++ trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.h        2015-02-18 23:52:16 UTC (rev 180317)
</span><span class="lines" style="display: block; padding: 0px 10px; color: rgb(136, 136, 136); background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial;">@@ -33,7 +33,7 @@
</span><span class="cx" style="display: block; padding: 0px 10px;"> 
</span><span class="cx" style="display: block; padding: 0px 10px;"> namespace JSC { namespace FTL {
</span><span class="cx" style="display: block; padding: 0px 10px;"> 
</span><del style="background-color: rgb(255, 221, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">-bool lowerDFGToLLVM(State&amp;);
</del><ins style="background-color: rgb(221, 255, 221); text-decoration: none; display: block; padding: 0px 10px; background-position: initial initial; background-repeat: initial initial;" class="">+void lowerDFGToLLVM(State&amp;);
</ins><span class="cx" style="display: block; padding: 0px 10px;"> 
</span><span class="cx" style="display: block; padding: 0px 10px;"> } } // namespace JSC::FTL
</span><span class="cx" style="display: block; padding: 0px 10px;"> 
</span></span></pre></div></div><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">_______________________________________________</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">webkit-changes mailing list</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><a href="mailto:webkit-changes@lists.webkit.org" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">webkit-changes@lists.webkit.org</a><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><a href="https://lists.webkit.org/mailman/listinfo/webkit-changes" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">https://lists.webkit.org/mailman/listinfo/webkit-changes</a></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></div></div></div></blockquote></div><br class=""></body></html>