[JSC][Win] callOperationNoExceptionCheck() also needs to support operations that return SlowPathReturnType r276456 started to use callOperationNoExceptionCheck instead of callOperation. It made Windows ports crashing. Bug 183655 added special support for x64 Windows. But, it added only for callOperation, but for callOperationNoExceptionCheck. callOperationNoExceptionCheck also should support x64 Windows. Bug 183655 – JIT callOperation() needs to support operations that return SlowPathReturnType differently on Windows. Bug 224920 – [JSC] Remove exception checks from non-throwing function calls in Baseline JIT Bug 224952 – REGRESSION(r276456): Windows specific crash
Created attachment 426882 [details] Patch
Comment on attachment 426882 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=426882&action=review r=me > Source/JavaScriptCore/jit/JIT.h:827 > + template<typename Type> static const bool is64BitType = sizeof(Type) <= 8; Use static constexpr instead of static const
Created attachment 426887 [details] Patch for landing
Committed r276486 (236945@main): <https://commits.webkit.org/236945@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 426887 [details].
<rdar://problem/77061467>
Re-opened since this is blocked by bug 224973
I'm sorry for breaking AppleWin builds. Thank you for reverting my patch. https://build.webkit.org/#/builders/67/builds/2248 UnifiedSource-f2e18ffc-34.cpp C:\cygwin\worker\win10-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-3a3c4ec0-3.cpp(9,1): fatal error C1001: An internal error has occurred in the compiler. [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj] C:\cygwin\worker\win10-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-3a3c4ec0-3.cpp(9,1): fatal error C1001: (compiler file 'msc1.cpp', line 1529) [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj] C:\cygwin\worker\win10-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-3a3c4ec0-3.cpp(9,1): fatal error C1001: To work around this problem, try simplifying or changing the program near the locations listed above. [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj] C:\cygwin\worker\win10-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-3a3c4ec0-3.cpp(9,1): fatal error C1001: Please choose the Technical Support command on the Visual C++ [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj] C:\cygwin\worker\win10-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-3a3c4ec0-3.cpp(9,1): fatal error C1001: Help menu, or open the Technical Support help file for more information [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj] C:\cygwin\worker\win10-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-3a3c4ec0-3.cpp(9,1): fatal error C1001: Internal Compiler Error in C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\bin\HostX64\x64\CL.exe. You will be prompted to send an error report to Microsoft later. [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj] C:\cygwin\worker\win10-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-3a3c4ec0-3.cpp(9,1): fatal error C1001: INTERNAL COMPILER ERROR in 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\bin\HostX64\x64\CL.exe' [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj] C:\cygwin\worker\win10-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-3a3c4ec0-3.cpp(9,1): fatal error C1001: Please choose the Technical Support command on the Visual C++ [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj] C:\cygwin\worker\win10-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-3a3c4ec0-3.cpp(9,1): fatal error C1001: Help menu, or open the Technical Support help file for more information [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj] C:\cygwin\worker\win10-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-3a3c4ec0-5.cpp(9,1): fatal error C1001: An internal error has occurred in the compiler. [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj] C:\cygwin\worker\win10-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-3a3c4ec0-5.cpp(9,1): fatal error C1001: (compiler file 'msc1.cpp', line 1529) [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj] C:\cygwin\worker\win10-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-3a3c4ec0-5.cpp(9,1): fatal error C1001: To work around this problem, try simplifying or changing the program near the locations listed above. [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj] C:\cygwin\worker\win10-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-3a3c4ec0-5.cpp(9,1): fatal error C1001: Please choose the Technical Support command on the Visual C++ [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj] C:\cygwin\worker\win10-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-3a3c4ec0-5.cpp(9,1): fatal error C1001: Help menu, or open the Technical Support help file for more information [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj] C:\cygwin\worker\win10-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-3a3c4ec0-5.cpp(9,1): fatal error C1001: Internal Compiler Error in C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\bin\HostX64\x64\CL.exe. You will be prompted to send an error report to Microsoft later. [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj] C:\cygwin\worker\win10-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-3a3c4ec0-5.cpp(9,1): fatal error C1001: INTERNAL COMPILER ERROR in 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\bin\HostX64\x64\CL.exe' [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj] C:\cygwin\worker\win10-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-3a3c4ec0-5.cpp(9,1): fatal error C1001: Please choose the Technical Support command on the Visual C++ [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj] C:\cygwin\worker\win10-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-3a3c4ec0-5.cpp(9,1): fatal error C1001: Help menu, or open the Technical Support help file for more information [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj] cl : command line error D8040: error creating or communicating with child process [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj] I don't know what the problem is. I should try rewriting the patch without constexpr if.
Created attachment 426938 [details] Patch
I downgraded my Visual Studio 2019 to version 16.3 on my PC. This internal compiler problem is caused by the template variable. I rewrote the patch without the template variable.
Committed r276516 (236972@main): <https://commits.webkit.org/236972@main>