Bug 224964 - [JSC][Win] callOperationNoExceptionCheck() also needs to support operations that return SlowPathReturnType
Summary: [JSC][Win] callOperationNoExceptionCheck() also needs to support operations t...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Fujii Hironori
URL:
Keywords: InRadar
Depends on: 224973
Blocks: 224920
  Show dependency treegraph
 
Reported: 2021-04-22 19:08 PDT by Fujii Hironori
Modified: 2021-04-23 14:01 PDT (History)
10 users (show)

See Also:


Attachments
Patch (4.63 KB, patch)
2021-04-22 19:16 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff
Patch for landing (4.64 KB, patch)
2021-04-22 21:46 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff
Patch (4.40 KB, patch)
2021-04-23 13:42 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Fujii Hironori 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
Comment 1 Fujii Hironori 2021-04-22 19:16:03 PDT
Created attachment 426882 [details]
Patch
Comment 2 Yusuke Suzuki 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
Comment 3 Fujii Hironori 2021-04-22 21:46:47 PDT
Created attachment 426887 [details]
Patch for landing
Comment 4 EWS 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].
Comment 5 Radar WebKit Bug Importer 2021-04-23 01:19:50 PDT
<rdar://problem/77061467>
Comment 6 WebKit Commit Bot 2021-04-23 07:04:35 PDT
Re-opened since this is blocked by bug 224973
Comment 7 Fujii Hironori 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.
Comment 8 Fujii Hironori 2021-04-23 13:42:23 PDT
Created attachment 426938 [details]
Patch
Comment 9 Fujii Hironori 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.
Comment 10 Fujii Hironori 2021-04-23 14:01:17 PDT
Committed r276516 (236972@main): <https://commits.webkit.org/236972@main>