Skip to content

Fix JIT enablement when building 2.38 with clang#1696

Open
aoikonomopoulos wants to merge 1 commit into
WebPlatformForEmbedded:wpe-2.38from
aoikonomopoulos:wpe-2.38-clang-build
Open

Fix JIT enablement when building 2.38 with clang#1696
aoikonomopoulos wants to merge 1 commit into
WebPlatformForEmbedded:wpe-2.38from
aoikonomopoulos:wpe-2.38-clang-build

Conversation

@aoikonomopoulos

@aoikonomopoulos aoikonomopoulos commented Jul 6, 2026

Copy link
Copy Markdown

…clang

https://bugs.webkit.org/show_bug.cgi?id=234034

Reviewed by Justin Michaud.

JIT was always disabled when building JSC with clang on linux 32 bits
because CMake checked if the compiler defined __thumb2__ and while
gcc does define it by default, clang doesn't.

This patch adds extra compilation flags when compiling JSC with clang
for arm (except on Darwin), so the expected __thumb2__ define is defined
and JIT is enabled.

Also some minor changes:
(1) this patch also adds __ARM_ARCH_8__ and __ARM_ARCH_8A__
to the list that sets BTHUMB_ARCH_VERSION and WTF_THUMB_ARCH_VERSION to
4. These two seem to be used mostly for sanity check.
(2) a small fix in AirArg where clang complains about a missing
typename. gcc seems to accept either.

* Source/JavaScriptCore/b3/air/AirArg.h:
(JSC::B3::Air::Arg::isValidAddrForm):
* Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h:
(JSC::Wasm::parseAndCompileAirImpl):
* Source/WTF/wtf/PlatformCPU.h:
* Source/bmalloc/bmalloc/BPlatform.h:
* Source/cmake/OptionsCommon.cmake:

Canonical link: https://commits.webkit.org/260921@main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants