Bug 224964

Summary: [JSC][Win] callOperationNoExceptionCheck() also needs to support operations that return SlowPathReturnType
Product: WebKit Reporter: Fujii Hironori <Hironori.Fujii>
Component: JavaScriptCoreAssignee: Fujii Hironori <Hironori.Fujii>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, ews-watchlist, keith_miller, mark.lam, msaboff, ross.kirsling, saam, tzagallo, webkit-bug-importer, ysuzuki
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 224973    
Bug Blocks: 224920    
Attachments:
Description Flags
Patch
none
Patch for landing
none
Patch none

Fujii Hironori
Reported 2021-04-22 19:08:09 PDT
[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
Attachments
Patch (4.63 KB, patch)
2021-04-22 19:16 PDT, Fujii Hironori
no flags
Patch for landing (4.64 KB, patch)
2021-04-22 21:46 PDT, Fujii Hironori
no flags
Patch (4.40 KB, patch)
2021-04-23 13:42 PDT, Fujii Hironori
no flags
Fujii Hironori
Comment 1 2021-04-22 19:16:03 PDT
Yusuke Suzuki
Comment 2 2021-04-22 21:41:58 PDT
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
Fujii Hironori
Comment 3 2021-04-22 21:46:47 PDT
Created attachment 426887 [details] Patch for landing
EWS
Comment 4 2021-04-22 22:17:08 PDT
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].
Radar WebKit Bug Importer
Comment 5 2021-04-23 01:19:50 PDT
WebKit Commit Bot
Comment 6 2021-04-23 07:04:35 PDT
Re-opened since this is blocked by bug 224973
Fujii Hironori
Comment 7 2021-04-23 13:00:39 PDT
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.
Fujii Hironori
Comment 8 2021-04-23 13:42:23 PDT
Fujii Hironori
Comment 9 2021-04-23 13:44:15 PDT
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.
Fujii Hironori
Comment 10 2021-04-23 14:01:17 PDT
Note You need to log in before you can comment on or make changes to this bug.