Title: [163938] trunk/Source/_javascript_Core
Revision
163938
Author
fpi...@apple.com
Date
2014-02-11 20:24:37 -0800 (Tue, 11 Feb 2014)

Log Message

Fix assertions and incorrect codegen for CompareEq(ObjectOrOther:, Object:)
https://bugs.webkit.org/show_bug.cgi?id=128648

Reviewed by Mark Lam.
        
I did CompareEq(Object:, ObjectOrOther:) correctly but the flipped version wrong.
That's what I get for running tests in release mode. It's hard to write a test for
the incorrect codegen; that's kind of why the assertions are there.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileCompareEq):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (163937 => 163938)


--- trunk/Source/_javascript_Core/ChangeLog	2014-02-12 04:13:48 UTC (rev 163937)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-02-12 04:24:37 UTC (rev 163938)
@@ -1,5 +1,19 @@
 2014-02-11  Filip Pizlo  <fpi...@apple.com>
 
+        Fix assertions and incorrect codegen for CompareEq(ObjectOrOther:, Object:)
+        https://bugs.webkit.org/show_bug.cgi?id=128648
+
+        Reviewed by Mark Lam.
+        
+        I did CompareEq(Object:, ObjectOrOther:) correctly but the flipped version wrong.
+        That's what I get for running tests in release mode. It's hard to write a test for
+        the incorrect codegen; that's kind of why the assertions are there.
+
+        * ftl/FTLLowerDFGToLLVM.cpp:
+        (JSC::FTL::LowerDFGToLLVM::compileCompareEq):
+
+2014-02-11  Filip Pizlo  <fpi...@apple.com>
+
         Unreviewed, trivial change to silence FTL assertions
 
         Normally, lowJSValue() should only be used for UntypedUse only. Here we are using it

Modified: trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp (163937 => 163938)


--- trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp	2014-02-12 04:13:48 UTC (rev 163937)
+++ trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp	2014-02-12 04:24:37 UTC (rev 163938)
@@ -3216,7 +3216,7 @@
         
         if (m_node->child1().useKind() == ObjectOrOtherUse
             && m_node->child2().useKind() == ObjectUse) {
-            compareEqObjectOrOtherToObject(m_node->child2(), m_node->child1());
+            compareEqObjectOrOtherToObject(m_node->child1(), m_node->child2());
             return;
         }
         
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to