Skip to content

[JSC] Enable JIT compiling for String#at on ARMv7 #47116

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 25, 2025

Conversation

sosukesuzuki
Copy link
Member

@sosukesuzuki sosukesuzuki commented Jun 24, 2025

2a01c2b

[JSC] Enable JIT compiling for `String#at` on ARMv7
https://bugs.webkit.org/show_bug.cgi?id=294901

Reviewed by Justin Michaud.

JSC compiles `String#at` in 64-bit DFG, but does not in 32-bit DFG.
This patch enables DFG JIT compilation for `String#at` on ARMv7.

* Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):

Canonical link: https://commits.webkit.org/296593@main

7853aa5

Misc iOS, visionOS, tvOS & watchOS macOS Linux Windows
✅ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe ✅ 🛠 win
✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug ✅ 🧪 wpe-wk2 ⏳ 🧪 win-tests
✅ 🧪 webkitperl ✅ 🧪 ios-wk2 ✅ 🧪 api-mac ✅ 🧪 api-wpe
✅ 🧪 ios-wk2-wpt ✅ 🧪 mac-wk1 ✅ 🛠 wpe-cairo
✅ 🛠 🧪 jsc ✅ 🧪 api-ios ✅ 🧪 mac-wk2 ✅ 🛠 gtk
✅ 🛠 🧪 jsc-arm64 ✅ 🛠 vision ✅ 🧪 mac-AS-debug-wk2 ✅ 🧪 gtk-wk2
✅ 🛠 vision-sim ✅ 🧪 mac-wk2-stress ✅ 🧪 api-gtk
✅ 🛠 🧪 merge ✅ 🧪 vision-wk2 ✅ 🧪 mac-intel-wk2 ✅ 🛠 playstation
✅ 🛠 tv ✅ 🛠 mac-safer-cpp ✅ 🛠 jsc-armv7
✅ 🛠 tv-sim ✅ 🧪 jsc-armv7-tests
✅ 🛠 watch
✅ 🛠 watch-sim

@sosukesuzuki sosukesuzuki self-assigned this Jun 24, 2025
@sosukesuzuki sosukesuzuki added the JavaScriptCore For bugs in JavaScriptCore, the JS engine used by WebKit, other than kxmlcore issues. label Jun 24, 2025
@sosukesuzuki sosukesuzuki marked this pull request as ready for review June 24, 2025 13:51
@sosukesuzuki sosukesuzuki requested a review from a team as a code owner June 24, 2025 13:51
@sosukesuzuki sosukesuzuki added the merge-queue Applied to send a pull request to merge-queue label Jun 25, 2025
https://bugs.webkit.org/show_bug.cgi?id=294901

Reviewed by Justin Michaud.

JSC compiles `String#at` in 64-bit DFG, but does not in 32-bit DFG.
This patch enables DFG JIT compilation for `String#at` on ARMv7.

* Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):

Canonical link: https://commits.webkit.org/296593@main
@webkit-commit-queue
Copy link
Collaborator

Committed 296593@main (2a01c2b): https://commits.webkit.org/296593@main

Reviewed commits have been landed. Closing PR #47116 and removing active labels.

@webkit-commit-queue webkit-commit-queue merged commit 2a01c2b into WebKit:main Jun 25, 2025
@webkit-commit-queue webkit-commit-queue removed the merge-queue Applied to send a pull request to merge-queue label Jun 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
JavaScriptCore For bugs in JavaScriptCore, the JS engine used by WebKit, other than kxmlcore issues.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants