Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 5ad2bece7631af71f4efe7bf084a40f6e5147651
https://github.com/WebKit/WebKit/commit/5ad2bece7631af71f4efe7bf084a40f6e5147651
Author: Yusuke Suzuki <[email protected]>
Date: 2026-09-15 (Tue, 15 Sep 2026)
Changed paths:
A JSTests/wasm/stress/ipint-atomic-cmpxchg-fast-path.js
M Source/JavaScriptCore/assembler/MaxFrameExtentForSlowPathCall.h
M Source/JavaScriptCore/llint/InPlaceInterpreter.asm
M Source/JavaScriptCore/llint/InPlaceInterpreter.cpp
M Source/JavaScriptCore/llint/InPlaceInterpreter.h
M Source/JavaScriptCore/llint/InPlaceInterpreter64.asm
M Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
M Source/JavaScriptCore/offlineasm/arm64.rb
M Source/JavaScriptCore/offlineasm/instructions.rb
M Source/JavaScriptCore/offlineasm/risc.rb
M Source/JavaScriptCore/offlineasm/x86.rb
M Source/JavaScriptCore/wasm/WasmIPIntGenerator.h
M Source/JavaScriptCore/wasm/WasmOperations.cpp
Log Message:
-----------
[JSC] Tighten IPInt code
https://bugs.webkit.org/show_bug.cgi?id=324059
rdar://187291986
Reviewed by Yijia Huang.
IPInt code is layout with 256B size for each handler. This patch applies
many effort to reduce the size of this handler to make it within 128B size.
Currently enabling this smaller size only for ARM64.
1. Add ARM64 specific instructions to reduce # of instructions
2. Define out-of-line code for very large handler and jump to that
instead.
This improves IPInt wasm execution by roughly ~5%, largely due to
reduced size from 256B -> 128B and now IPInt main loop is much more tight.
* JSTests/wasm/stress/ipint-atomic-cmpxchg-fast-path.js: Added.
(async test):
* Source/JavaScriptCore/assembler/MaxFrameExtentForSlowPathCall.h:
* Source/JavaScriptCore/llint/InPlaceInterpreter.asm:
* Source/JavaScriptCore/llint/InPlaceInterpreter.cpp:
* Source/JavaScriptCore/llint/InPlaceInterpreter.h:
* Source/JavaScriptCore/llint/InPlaceInterpreter64.asm:
* Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:
* Source/JavaScriptCore/offlineasm/arm64.rb:
* Source/JavaScriptCore/offlineasm/instructions.rb:
* Source/JavaScriptCore/offlineasm/risc.rb:
* Source/JavaScriptCore/offlineasm/x86.rb:
* Source/JavaScriptCore/wasm/WasmIPIntGenerator.h:
* Source/JavaScriptCore/wasm/WasmOperations.cpp:
(JSC::Wasm::doOSREntry):
Canonical link: https://commits.webkit.org/321217@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications