Title: [194385] trunk/Source/_javascript_Core
Revision
194385
Author
[email protected]
Date
2015-12-22 19:22:47 -0800 (Tue, 22 Dec 2015)

Log Message

REGRESSION(194382): FTL B3 no longer runs V8/encrypt
https://bugs.webkit.org/show_bug.cgi?id=152519

Reviewed by Saam Barati.

A "Move Imm, Tmp" instruction should turn into "Move32 Imm, Tmp" if the Tmp is spilled to a
32-bit slot. Changing where we check isTmp() achieves this. Since all of the logic is only
relevant to when we spill without introducing a Tmp, and since a Move does not have a "Move Addr,
Addr" form, this code ensures that the logic only happens for "Tmp, Tmp" and "Imm, Tmp".

* b3/air/AirIteratedRegisterCoalescing.cpp:
* dfg/DFGOperations.cpp:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (194384 => 194385)


--- trunk/Source/_javascript_Core/ChangeLog	2015-12-23 02:54:39 UTC (rev 194384)
+++ trunk/Source/_javascript_Core/ChangeLog	2015-12-23 03:22:47 UTC (rev 194385)
@@ -1,5 +1,20 @@
 2015-12-22  Filip Pizlo  <[email protected]>
 
+        REGRESSION(194382): FTL B3 no longer runs V8/encrypt
+        https://bugs.webkit.org/show_bug.cgi?id=152519
+
+        Reviewed by Saam Barati.
+
+        A "Move Imm, Tmp" instruction should turn into "Move32 Imm, Tmp" if the Tmp is spilled to a
+        32-bit slot. Changing where we check isTmp() achieves this. Since all of the logic is only
+        relevant to when we spill without introducing a Tmp, and since a Move does not have a "Move Addr,
+        Addr" form, this code ensures that the logic only happens for "Tmp, Tmp" and "Imm, Tmp".
+
+        * b3/air/AirIteratedRegisterCoalescing.cpp:
+        * dfg/DFGOperations.cpp:
+
+2015-12-22  Filip Pizlo  <[email protected]>
+
         FTL B3 should use the right type for comparison slow paths
         https://bugs.webkit.org/show_bug.cgi?id=152521
 

Modified: trunk/Source/_javascript_Core/b3/air/AirIteratedRegisterCoalescing.cpp (194384 => 194385)


--- trunk/Source/_javascript_Core/b3/air/AirIteratedRegisterCoalescing.cpp	2015-12-23 02:54:39 UTC (rev 194384)
+++ trunk/Source/_javascript_Core/b3/air/AirIteratedRegisterCoalescing.cpp	2015-12-23 03:22:47 UTC (rev 194385)
@@ -1190,10 +1190,9 @@
                 // Move is the canonical way to move data between GPRs.
                 bool forceMove32IfDidSpill = false;
                 bool didSpill = false;
-                if (type == Arg::GP && inst.opcode == Move
-                    && inst.args[0].isTmp() && inst.args[1].isTmp()) {
-                    if (m_tmpWidth.defWidth(inst.args[0].tmp()) <= Arg::Width32
-                        || m_tmpWidth.useWidth(inst.args[1].tmp()) <= Arg::Width32)
+                if (type == Arg::GP && inst.opcode == Move) {
+                    if ((inst.args[0].isTmp() && m_tmpWidth.defWidth(inst.args[0].tmp()) <= Arg::Width32)
+                        || (inst.args[1].isTmp() && m_tmpWidth.useWidth(inst.args[1].tmp()) <= Arg::Width32))
                         forceMove32IfDidSpill = true;
                 }
 

Modified: trunk/Source/_javascript_Core/dfg/DFGOperations.cpp (194384 => 194385)


--- trunk/Source/_javascript_Core/dfg/DFGOperations.cpp	2015-12-23 02:54:39 UTC (rev 194384)
+++ trunk/Source/_javascript_Core/dfg/DFGOperations.cpp	2015-12-23 03:22:47 UTC (rev 194385)
@@ -1252,8 +1252,6 @@
     VM& vm = exec->vm();
     NativeCallFrameTracer tracer(&vm, exec);
 
-    dataLog("Ran the barrier.\n");
-
     return bitwise_cast<char*>(jsCast<JSObject*>(cell)->butterfly());
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to