Title: [161487] branches/jsCStack/Source/_javascript_Core
- Revision
- 161487
- Author
- fpi...@apple.com
- Date
- 2014-01-07 23:59:37 -0800 (Tue, 07 Jan 2014)
Log Message
Disable AVX in the FTL
https://bugs.webkit.org/show_bug.cgi?id=126620
Not yet reviewed.
* ftl/FTLAbbreviations.h:
(JSC::FTL::addTargetDependentFunctionAttr):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::lower):
Modified Paths
Diff
Modified: branches/jsCStack/Source/_javascript_Core/ChangeLog (161486 => 161487)
--- branches/jsCStack/Source/_javascript_Core/ChangeLog 2014-01-08 07:50:49 UTC (rev 161486)
+++ branches/jsCStack/Source/_javascript_Core/ChangeLog 2014-01-08 07:59:37 UTC (rev 161487)
@@ -1,5 +1,17 @@
2014-01-07 Filip Pizlo <fpi...@apple.com>
+ Disable AVX in the FTL
+ https://bugs.webkit.org/show_bug.cgi?id=126620
+
+ Not yet reviewed.
+
+ * ftl/FTLAbbreviations.h:
+ (JSC::FTL::addTargetDependentFunctionAttr):
+ * ftl/FTLLowerDFGToLLVM.cpp:
+ (JSC::FTL::LowerDFGToLLVM::lower):
+
+2014-01-07 Filip Pizlo <fpi...@apple.com>
+
CStack: Call linking should log call linking for DFG and FTL code blocks if --showDFGDisassembly=true
https://bugs.webkit.org/show_bug.cgi?id=126617
Modified: branches/jsCStack/Source/_javascript_Core/ftl/FTLAbbreviations.h (161486 => 161487)
--- branches/jsCStack/Source/_javascript_Core/ftl/FTLAbbreviations.h 2014-01-08 07:50:49 UTC (rev 161486)
+++ branches/jsCStack/Source/_javascript_Core/ftl/FTLAbbreviations.h 2014-01-08 07:59:37 UTC (rev 161487)
@@ -133,6 +133,7 @@
static inline LValue addFunction(LModule module, const char* name, LType type) { return llvm->AddFunction(module, name, type); }
static inline void setLinkage(LValue global, LLinkage linkage) { llvm->SetLinkage(global, linkage); }
static inline void setFunctionCallingConv(LValue function, LCallConv convention) { llvm->SetFunctionCallConv(function, convention); }
+static inline void addTargetDependentFunctionAttr(LValue function, const char* key, const char* value) { llvm->AddTargetDependentFunctionAttr(function, key, value); }
static inline LValue addExternFunction(LModule module, const char* name, LType type)
{
Modified: branches/jsCStack/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp (161486 => 161487)
--- branches/jsCStack/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp 2014-01-08 07:50:49 UTC (rev 161486)
+++ branches/jsCStack/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp 2014-01-08 07:59:37 UTC (rev 161487)
@@ -98,6 +98,11 @@
m_ftlState.function = addFunction(
m_ftlState.module, name.data(), functionType(m_out.int64));
setFunctionCallingConv(m_ftlState.function, LLVMCCallConv);
+ if (isX86()) {
+ // AVX makes V8/raytrace 80% slower. It makes Kraken/audio-oscillator 4.5x
+ // slower. It should be disabled.
+ addTargetDependentFunctionAttr(m_ftlState.function, "target-features", "-avx");
+ }
m_out.initialize(m_ftlState.module, m_ftlState.function, m_heaps);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes