Title: [196045] trunk/Source/_javascript_Core
Revision
196045
Author
benja...@webkit.org
Date
2016-02-02 21:03:38 -0800 (Tue, 02 Feb 2016)

Log Message

[JSC] Do not copy FP when lowering FramePointer
https://bugs.webkit.org/show_bug.cgi?id=153769

Reviewed by Michael Saboff.

That extra move is just wasted time. The fewer Moves we have,
the happier IRC is.

* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::tmp):
(JSC::B3::Air::LowerToAir::lower):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (196044 => 196045)


--- trunk/Source/_javascript_Core/ChangeLog	2016-02-03 04:53:39 UTC (rev 196044)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-02-03 05:03:38 UTC (rev 196045)
@@ -1,3 +1,17 @@
+2016-02-02  Benjamin Poulain  <benja...@webkit.org>
+
+        [JSC] Do not copy FP when lowering FramePointer
+        https://bugs.webkit.org/show_bug.cgi?id=153769
+
+        Reviewed by Michael Saboff.
+
+        That extra move is just wasted time. The fewer Moves we have,
+        the happier IRC is.
+
+        * b3/B3LowerToAir.cpp:
+        (JSC::B3::Air::LowerToAir::tmp):
+        (JSC::B3::Air::LowerToAir::lower):
+
 2016-02-02  Keith Miller  <keith_mil...@apple.com>
 
         DFG, FTL, B3, and Air should all have a unique option for printing their graphs

Modified: trunk/Source/_javascript_Core/b3/B3LowerToAir.cpp (196044 => 196045)


--- trunk/Source/_javascript_Core/b3/B3LowerToAir.cpp	2016-02-03 04:53:39 UTC (rev 196044)
+++ trunk/Source/_javascript_Core/b3/B3LowerToAir.cpp	2016-02-03 05:03:38 UTC (rev 196045)
@@ -308,6 +308,10 @@
         if (!tmp) {
             while (shouldCopyPropagate(value))
                 value = value->child(0);
+
+            if (value->opcode() == FramePointer)
+                return Tmp(GPRInfo::callFrameRegister);
+
             Tmp& realTmp = m_valueToTmp[value];
             if (!realTmp) {
                 realTmp = m_code.newTmp(Arg::typeForB3Type(value->type()));
@@ -1945,7 +1949,7 @@
         }
 
         case FramePointer: {
-            append(Move, Tmp(GPRInfo::callFrameRegister), tmp(m_value));
+            ASSERT(tmp(m_value) == Tmp(GPRInfo::callFrameRegister));
             return;
         }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to