[Win] [64-bit] Work around MSVC2013 Runtime Bug
authorbfulgham@apple.com <bfulgham@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 12 Feb 2015 17:20:07 +0000 (17:20 +0000)
committerbfulgham@apple.com <bfulgham@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 12 Feb 2015 17:20:07 +0000 (17:20 +0000)
commit0c8d1ec3315c54ab69d41018dfc3b7c564c8c092
tree8e4611f731ee2b0e2a2885b3a263837ca3cd41e6
parentc928f39700150cbd65205f355684b57e2f765e52
[Win] [64-bit] Work around MSVC2013 Runtime Bug
https://bugs.webkit.org/show_bug.cgi?id=141498
<rdar://problem/19803642>

Reviewed by Anders Carlsson.

Disable FMA3 instruction use in the MSVC math library to
work around a VS2013 runtime crash. We can remove this
workaround when we switch to VS2015.

Source/JavaScriptCore:

* API/tests/testapi.c: Call _set_FMA3_enable(0) to disable
FMA3 support.
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Add new files.
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Ditto.
* JavaScriptCore.vcxproj/JavaScriptCoreDLL.cpp: Added.
* JavaScriptCore.vcxproj/jsc/DLLLauncherMain.cpp: Call _set_FMA3_enable(0)
to disable FMA3 support.
* jsc.cpp: Ditto.
* testRegExp.cpp: Ditto.

Source/WebKit/win:

* WebKitDLL.cpp: Call _set_FMA3_enable(0) to disable FMA3 support.

Source/WTF:

* WTF.vcxproj/WTF.vcxproj: Add new files.
* WTF.vcxproj/WTF.vcxproj.filters: Ditto.
* wtf/win/WTFDLL.cpp: Added.

Tools:

* DumpRenderTree/cg/ImageDiffCG.cpp: Call _set_FMA3_enable(0) to
disable FMA3 support.
* DumpRenderTree/win/DumpRenderTree.cpp: Ditto.
* DumpRenderTree/win/ImageDiffCairo.cpp: Ditto.
* DumpRenderTree/win/TestRunnerWin.cpp: Ditto.
* Scripts/webkitperl/httpd.pm: Ditto.
* TestWebKitAPI/win/main.cpp: Ditto.
* WinLauncher/Common.cpp: Ditto.
* win/DLLLauncher/DLLLauncherMain.cpp: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@179993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
21 files changed:
Source/JavaScriptCore/API/tests/testapi.c
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj
Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters
Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCoreDLL.cpp [new file with mode: 0644]
Source/JavaScriptCore/JavaScriptCore.vcxproj/jsc/DLLLauncherMain.cpp
Source/JavaScriptCore/jsc.cpp
Source/JavaScriptCore/testRegExp.cpp
Source/WTF/ChangeLog
Source/WTF/WTF.vcxproj/WTF.vcxproj
Source/WTF/WTF.vcxproj/WTF.vcxproj.filters
Source/WTF/wtf/win/WTFDLL.cpp [new file with mode: 0644]
Source/WebKit/win/ChangeLog
Source/WebKit/win/WebKitDLL.cpp
Tools/ChangeLog
Tools/DumpRenderTree/cg/ImageDiffCG.cpp
Tools/DumpRenderTree/win/DumpRenderTree.cpp
Tools/DumpRenderTree/win/ImageDiffCairo.cpp
Tools/TestWebKitAPI/win/main.cpp
Tools/WinLauncher/Common.cpp
Tools/win/DLLLauncher/DLLLauncherMain.cpp