Bug 255571

Summary: [Win Clang] UnlinkedFunctionExecutable.h(327,1): error: static assertion failed due to requirement 'sizeof(JSC::UnlinkedFunctionExecutable) <= 96': UnlinkedFunctionExecutable needs to be small
Product: WebKit Reporter: Fujii Hironori <Hironori.Fujii>
Component: JavaScriptCoreAssignee: Fujii Hironori <Hironori.Fujii>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Fujii Hironori 2023-04-17 19:00:10 PDT
[Win Clang] UnlinkedFunctionExecutable.h(327,1): error: static assertion failed due to requirement 'sizeof(JSC::UnlinkedFunctionExecutable) <= 96': UnlinkedFunctionExecutable needs to be small

clang-cl can't compile Release build of Windows port.

[664/6540] Building CXX object Source\JavaScriptCore\CMakeFiles\LLIntOffsetsExtractor.dir\llint\LLIntOffsetsExtractor.cpp.obj
FAILED: Source/JavaScriptCore/CMakeFiles/LLIntOffsetsExtractor.dir/llint/LLIntOffsetsExtractor.cpp.obj 
C:\PROGRA~1\LLVM\bin\clang-cl.exe (...) -c -- C:\jenkins_slave\wincairo-main\Source\JavaScriptCore\llint\LLIntOffsetsExtractor.cpp
In file included from C:\jenkins_slave\wincairo-main\Source\JavaScriptCore\llint\LLIntOffsetsExtractor.cpp:31:
In file included from C:\jenkins_slave\wincairo-main\WebKitBuild\Release\JavaScriptCore\DerivedSources\BytecodeStructs.h:31:
In file included from C:\jenkins_slave\wincairo-main\Source\JavaScriptCore\bytecode\BytecodeDumper.h:31:
In file included from C:\jenkins_slave\wincairo-main\Source\JavaScriptCore\bytecode/CallLinkInfo.h:34:
In file included from C:\jenkins_slave\wincairo-main\Source\JavaScriptCore\jit\PolymorphicCallStubRoutine.h:30:
In file included from C:\jenkins_slave\wincairo-main\Source\JavaScriptCore\bytecode\CallEdge.h:28:
In file included from C:\jenkins_slave\wincairo-main\Source\JavaScriptCore\bytecode/CallVariant.h:28:
In file included from C:\jenkins_slave\wincairo-main\Source\JavaScriptCore\runtime\ExecutableBaseInlines.h:28:
In file included from C:\jenkins_slave\wincairo-main\Source\JavaScriptCore\runtime/ExecutableBase.h:33:
In file included from C:\jenkins_slave\wincairo-main\Source\JavaScriptCore\bytecode\UnlinkedCodeBlock.h:42:
C:\jenkins_slave\wincairo-main\Source\JavaScriptCore\bytecode/UnlinkedFunctionExecutable.h(327,1): error: static assertion failed due to requirement 'sizeof(JSC::UnlinkedFunctionExecutable) <= 96': UnlinkedFunctionExecutable needs to be small
static_assert(sizeof(UnlinkedFunctionExecutable) <= 96, "UnlinkedFunctionExecutable needs to be small");
^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\jenkins_slave\wincairo-main\Source\JavaScriptCore\bytecode/UnlinkedFunctionExecutable.h(327,50): note: expression evaluates to '104 <= 96'
static_assert(sizeof(UnlinkedFunctionExecutable) <= 96, "UnlinkedFunctionExecutable needs to be small");
              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
1 error generated.
Comment 1 Fujii Hironori 2023-04-17 20:32:37 PDT
This is the discussion on the static_assert.
https://github.com/WebKit/WebKit/pull/2457#discussion_r922593712
Comment 2 Fujii Hironori 2023-04-17 23:02:55 PDT
Pull request: https://github.com/WebKit/WebKit/pull/12847
Comment 3 EWS 2023-04-19 14:59:27 PDT
Committed 263149@main (2aa03fba6a75): <https://commits.webkit.org/263149@main>

Reviewed commits have been landed. Closing PR #12847 and removing active labels.
Comment 4 Radar WebKit Bug Importer 2023-04-19 15:00:23 PDT
<rdar://problem/108283059>