Title: [199690] trunk/Source/_javascript_Core
- Revision
- 199690
- Author
- [email protected]
- Date
- 2016-04-18 15:09:27 -0700 (Mon, 18 Apr 2016)
Log Message
Disable AVX.
Rubber stampted by Benjamin Poulain.
AVX is silly. If you use it and some of your other code isn't careful with float register bits, you
will run 10x slower. We could fix the underlying issue, but it's better to stay away from this odd
instruction subset.
This fixes a massive regression on some real code.
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::supportsAVX):
(JSC::MacroAssemblerX86Common::updateEax1EcxFlags):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (199689 => 199690)
--- trunk/Source/_javascript_Core/ChangeLog 2016-04-18 21:53:02 UTC (rev 199689)
+++ trunk/Source/_javascript_Core/ChangeLog 2016-04-18 22:09:27 UTC (rev 199690)
@@ -1,5 +1,21 @@
2016-04-18 Filip Pizlo <[email protected]>
+ Disable AVX.
+
+ Rubber stampted by Benjamin Poulain.
+
+ AVX is silly. If you use it and some of your other code isn't careful with float register bits, you
+ will run 10x slower. We could fix the underlying issue, but it's better to stay away from this odd
+ instruction subset.
+
+ This fixes a massive regression on some real code.
+
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::supportsAVX):
+ (JSC::MacroAssemblerX86Common::updateEax1EcxFlags):
+
+2016-04-18 Filip Pizlo <[email protected]>
+
ToThis should have a fast path based on type info flags
https://bugs.webkit.org/show_bug.cgi?id=156712
Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerX86Common.h (199689 => 199690)
--- trunk/Source/_javascript_Core/assembler/MacroAssemblerX86Common.h 2016-04-18 21:53:02 UTC (rev 199689)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerX86Common.h 2016-04-18 22:09:27 UTC (rev 199690)
@@ -2620,9 +2620,8 @@
static bool supportsAVX()
{
- if (s_avxCheckState == CPUIDCheckState::NotChecked)
- updateEax1EcxFlags();
- return s_avxCheckState == CPUIDCheckState::Set;
+ // AVX still causes mysterious regressions and those regressions can be massive.
+ return false;
}
static void updateEax1EcxFlags()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes