JDK-8367578, which pulled in additional WebKit 622.1 fixes from WebKitGTK 2.48.7, fails to build on 32-bit Windows and Linux. The 64-bit builds are fine, which is why we didn't discover it prior to integration.
======================================================================================================================
Linux build failure
-------------------
[ 20%] Building CXX object Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/llint/LowLevelInterpreter.cpp.o
jfx/modules/web/src/main/native/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp: In static member function 'static JSC::JSValue JSC::LLInt::CLoop::execute(JSC::OpcodeID, void*, JSC::VM*, JSC::ProtoCallFrame*, bool)':
jfx/modules/web/build/linux/JavaScriptCore/DerivedSources/Bytecodes.h:989:11: error: label 'op_instanceof_return_location' used but not defined
989 | macro(op_instanceof_return_location, 0) \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jfx/modules/web/src/main/native/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:264:58: note: in definition of macro 'OPCODE_ENTRY'
264 | opcodeMap[__opcode] = std::bit_cast<void*>(&&__opcode); \
| ^~~~~~~~
jfx/modules/web/src/main/native/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:282:9: note: in expansion of macro 'FOR_EACH_BYTECODE_HELPER_ID'
282 | FOR_EACH_BYTECODE_HELPER_ID(OPCODE_ENTRY)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
jfx/modules/web/build/linux/JavaScriptCore/DerivedSources/Bytecodes.h:989:11: error: label 'op_instanceof_return_location_wide16' used but not defined
989 | macro(op_instanceof_return_location, 0) \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jfx/modules/web/src/main/native/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:265:64: note: in definition of macro 'OPCODE_ENTRY'
265 | opcodeMapWide16[__opcode] = std::bit_cast<void*>(&&__opcode##_wide16); \
| ^~~~~~~~
jfx/modules/web/src/main/native/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:282:9: note: in expansion of macro 'FOR_EACH_BYTECODE_HELPER_ID'
282 | FOR_EACH_BYTECODE_HELPER_ID(OPCODE_ENTRY)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
jfx/modules/web/build/linux/JavaScriptCore/DerivedSources/Bytecodes.h:989:11: error: label 'op_instanceof_return_location_wide32' used but not defined
989 | macro(op_instanceof_return_location, 0) \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jfx/modules/web/src/main/native/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:266:64: note: in definition of macro 'OPCODE_ENTRY'
266 | opcodeMapWide32[__opcode] = std::bit_cast<void*>(&&__opcode##_wide32);
| ^~~~~~~~
jfx/modules/web/src/main/native/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:282:9: note: in expansion of macro 'FOR_EACH_BYTECODE_HELPER_ID'
282 | FOR_EACH_BYTECODE_HELPER_ID(OPCODE_ENTRY)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
gmake[2]: *** [Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/build.make:112: Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/llint/LowLevelInterpreter.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:558: Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/all] Error 2
gmake: *** [Makefile:111: all] Error 2
> Task :web:compileNativeLinux FAILED
======================================================================================================================
Windows build failure
---------------------
On Windows, we get several warnings of the following type:
jfx\modules\web\src\main\native\Source\JavaScriptCore\runtime\MathCommon.h(387,1): warning: 'sysv_abi' calling convention is not supported for this target [-Wignored-attributes]
387 | JSC_DECLARE_NOEXCEPT_JIT_OPERATION(i32_div_u, uint32_t, (uint32_t, uint32_t));
| ^
jfx\modules\web\src\main\native\Source\JavaScriptCore\jit\OperationResult.h(287,82): note: expanded from macro 'JSC_DECLARE_NOEXCEPT_JIT_OPERATION'
287 | #define JSC_DECLARE_NOEXCEPT_JIT_OPERATION(functionName, returnType, parameters) JSC_DECLARE_JIT_OPERATION_IMPL(functionName, returnType, parameters)
| ^
jfx\modules\web\build\win\WTF\Headers\wtf/PlatformCallingConventions.h(135,5): note: expanded from macro 'JSC_DECLARE_JIT_OPERATION_IMPL'
135 | JSC_DECLARE_JIT_OPERATION_WITH_ATTRIBUTES_IMPL(functionName, , returnType, parameters)
| ^
jfx\modules\web\build\win\WTF\Headers\wtf/PlatformCallingConventions.h(131,38): note: expanded from macro 'JSC_DECLARE_JIT_OPERATION_WITH_ATTRIBUTES_IMPL'
131 | extern "C" attributes returnType JIT_OPERATION_ATTRIBUTES functionName parameters REFERENCED_FROM_ASM WTF_INTERNAL; \
| ^
jfx\modules\web\build\win\WTF\Headers\wtf/PlatformCallingConventions.h(84,34): note: expanded from macro 'JIT_OPERATION_ATTRIBUTES'
84 | #define JIT_OPERATION_ATTRIBUTES SYSV_ABI
| ^
jfx\modules\web\build\win\WTF\Headers\wtf/PlatformCallingConventions.h(37,33): note: expanded from macro 'SYSV_ABI'
37 | #define SYSV_ABI __attribute__((sysv_abi))
| ^
And then failures:
jfx\modules\web\src\main\native\Source\JavaScriptCore\llint\LowLevelInterpreter.cpp(282,9): error: use of undeclared label 'op_instanceof_return_location'
282 | FOR_EACH_BYTECODE_HELPER_ID(OPCODE_ENTRY)
| ^
jfx\modules\web\build\win\JavaScriptCore\DerivedSources\Bytecodes.h(989,11): note: expanded from macro 'FOR_EACH_BYTECODE_HELPER_ID'
989 | macro(op_instanceof_return_location, 0) \
| ^
jfx\modules\web\src\main\native\Source\JavaScriptCore\llint\LowLevelInterpreter.cpp(282,37): error: use of undeclared label 'op_instanceof_return_location_wide16'
282 | FOR_EACH_BYTECODE_HELPER_ID(OPCODE_ENTRY)
| ^
jfx\modules\web\src\main\native\Source\JavaScriptCore\llint\LowLevelInterpreter.cpp(282,37): error: use of undeclared label 'op_instanceof_return_location_wide32'
316 warnings and 3 errors generated.
ninja: build stopped: subcommand failed.
> Task :web:compileNativeWin FAILED