Title: [195418] trunk/Source/_javascript_Core
- Revision
- 195418
- Author
- [email protected]
- Date
- 2016-01-21 12:15:04 -0800 (Thu, 21 Jan 2016)
Log Message
Move32 should have an Imm, Tmp form
https://bugs.webkit.org/show_bug.cgi?id=153313
Reviewed by Mark Lam.
This enables some useful optimizations, like constant propagation in fixObviousSpills().
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::zeroExtend32ToPtr):
(JSC::MacroAssemblerX86Common::move):
* b3/air/AirOpcode.opcodes:
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (195417 => 195418)
--- trunk/Source/_javascript_Core/ChangeLog 2016-01-21 19:54:51 UTC (rev 195417)
+++ trunk/Source/_javascript_Core/ChangeLog 2016-01-21 20:15:04 UTC (rev 195418)
@@ -1,5 +1,19 @@
2016-01-21 Filip Pizlo <[email protected]>
+ Move32 should have an Imm, Tmp form
+ https://bugs.webkit.org/show_bug.cgi?id=153313
+
+ Reviewed by Mark Lam.
+
+ This enables some useful optimizations, like constant propagation in fixObviousSpills().
+
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::zeroExtend32ToPtr):
+ (JSC::MacroAssemblerX86Common::move):
+ * b3/air/AirOpcode.opcodes:
+
+2016-01-21 Filip Pizlo <[email protected]>
+
B3 should have load elimination
https://bugs.webkit.org/show_bug.cgi?id=153288
Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerX86Common.h (195417 => 195418)
--- trunk/Source/_javascript_Core/assembler/MacroAssemblerX86Common.h 2016-01-21 19:54:51 UTC (rev 195417)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerX86Common.h 2016-01-21 20:15:04 UTC (rev 195418)
@@ -1351,6 +1351,11 @@
{
m_assembler.movl_rr(src, dest);
}
+
+ void zeroExtend32ToPtr(TrustedImm32 src, RegisterID dest)
+ {
+ m_assembler.movl_i32r(src.m_value, dest);
+ }
#else
void move(RegisterID src, RegisterID dest)
{
Modified: trunk/Source/_javascript_Core/b3/air/AirOpcode.opcodes (195417 => 195418)
--- trunk/Source/_javascript_Core/b3/air/AirOpcode.opcodes 2016-01-21 19:54:51 UTC (rev 195417)
+++ trunk/Source/_javascript_Core/b3/air/AirOpcode.opcodes 2016-01-21 20:15:04 UTC (rev 195418)
@@ -431,6 +431,7 @@
Index, Tmp as load32
Tmp, Addr as store32
Tmp, Index as store32
+ x86: Imm, Tmp as zeroExtend32ToPtr
x86: Imm, Addr as store32
x86: Imm, Index as store32
Modified: trunk/Source/_javascript_Core/dfg/DFGCommon.h (195417 => 195418)
--- trunk/Source/_javascript_Core/dfg/DFGCommon.h 2016-01-21 19:54:51 UTC (rev 195417)
+++ trunk/Source/_javascript_Core/dfg/DFGCommon.h 2016-01-21 20:15:04 UTC (rev 195418)
@@ -38,7 +38,7 @@
// We are in the middle of an experimental transition from LLVM to B3 as the backend for the FTL. We don't
// yet know how it will turn out. For now, this flag will control whether FTL uses B3. Remember to set this
// to 0 before committing!
-#define FTL_USES_B3 0
+#define FTL_USES_B3 1
struct Node;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes