Changeset 194385 in webkit
- Timestamp:
- Dec 22, 2015, 7:22:47 PM (11 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
b3/air/AirIteratedRegisterCoalescing.cpp (modified) (1 diff)
-
dfg/DFGOperations.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r194383 r194385 1 2015-12-22 Filip Pizlo <fpizlo@apple.com> 2 3 REGRESSION(194382): FTL B3 no longer runs V8/encrypt 4 https://bugs.webkit.org/show_bug.cgi?id=152519 5 6 Reviewed by Saam Barati. 7 8 A "Move Imm, Tmp" instruction should turn into "Move32 Imm, Tmp" if the Tmp is spilled to a 9 32-bit slot. Changing where we check isTmp() achieves this. Since all of the logic is only 10 relevant to when we spill without introducing a Tmp, and since a Move does not have a "Move Addr, 11 Addr" form, this code ensures that the logic only happens for "Tmp, Tmp" and "Imm, Tmp". 12 13 * b3/air/AirIteratedRegisterCoalescing.cpp: 14 * dfg/DFGOperations.cpp: 15 1 16 2015-12-22 Filip Pizlo <fpizlo@apple.com> 2 17 -
trunk/Source/JavaScriptCore/b3/air/AirIteratedRegisterCoalescing.cpp
r194382 r194385 1191 1191 bool forceMove32IfDidSpill = false; 1192 1192 bool didSpill = false; 1193 if (type == Arg::GP && inst.opcode == Move 1194 && inst.args[0].isTmp() && inst.args[1].isTmp()) { 1195 if (m_tmpWidth.defWidth(inst.args[0].tmp()) <= Arg::Width32 1196 || m_tmpWidth.useWidth(inst.args[1].tmp()) <= Arg::Width32) 1193 if (type == Arg::GP && inst.opcode == Move) { 1194 if ((inst.args[0].isTmp() && m_tmpWidth.defWidth(inst.args[0].tmp()) <= Arg::Width32) 1195 || (inst.args[1].isTmp() && m_tmpWidth.useWidth(inst.args[1].tmp()) <= Arg::Width32)) 1197 1196 forceMove32IfDidSpill = true; 1198 1197 } -
trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp
r194113 r194385 1253 1253 NativeCallFrameTracer tracer(&vm, exec); 1254 1254 1255 dataLog("Ran the barrier.\n");1256 1257 1255 return bitwise_cast<char*>(jsCast<JSObject*>(cell)->butterfly()); 1258 1256 }
Note:
See TracChangeset
for help on using the changeset viewer.