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