<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 <<a href="mailto:msaboff@apple.com" class="">msaboff@apple.com</a>> 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. He believes it is the best solution for avoiding the crash in <<a href="rdar://problem/17198412" class="">rdar://problem/17198412</a>> CrashTracer: DFG_CRASH beneath JSC::FTL::LowerDFGToLLVM::compileNode, and thinks it is less risky than the fix for <<a href="rdar://problem/19187718" class="">rdar://problem/19187718</a>> Crash in JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq (139398).</div></div></blockquote><div>He believe that the change for <a href="rdar://problem/17198412" class="">rdar://problem/17198412</a> is the lowest risk for the branch, but <a href="rdar://problem/19187718" class="">rdar://problem/19187718</a> 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. 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 <<a href="rdar://problem/19187718" class="">rdar://problem/19187718</a>> to the branch. I updated <a href="rdar://problem/17198412" class="">rdar://problem/17198412</a> and its clone <a href="rdar://problem/19877186" class="">rdar://problem/19877186</a> accordingly. It doesn’t look like <a href="rdar://problem/19187718" class="">rdar://problem/19187718</a> 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 <<a href="mailto:ggaren@apple.com" class="">ggaren@apple.com</a>> 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> & <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 => 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 <<a href="mailto:msaboff@apple.com" class="">msaboff@apple.com</a>>
+
+ Rollout r180247 & 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 <<a href="mailto:fpizlo@apple.com" class="">fpizlo@apple.com</a>>
</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 => 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 => 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& 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->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) < 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->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& 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& 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& m_graph;
</span><span class="cx" style="display: block; padding: 0px 10px;"> State& 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& 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& 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 => 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&);
</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&);
</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>