Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 8f52a29461caf12d63f04167bafd44c7746613b6
https://github.com/WebKit/WebKit/commit/8f52a29461caf12d63f04167bafd44c7746613b6
Author: Yusuke Suzuki <[email protected]>
Date: 2026-05-14 (Thu, 14 May 2026)
Changed paths:
M Source/JavaScriptCore/jit/JITOpcodes.cpp
M Source/JavaScriptCore/llint/LowLevelInterpreter64.asm
M Source/JavaScriptCore/runtime/JSType.h
Log Message:
-----------
[JSC] Optimize stricteq with non-String / non-HeapBigInt cells
https://bugs.webkit.org/show_bug.cgi?id=314855
rdar://177111037
Reviewed by Sosuke Suzuki and Keith Miller.
In LLInt / Baseline, we are calling a slow path function when both sides
are cells since we need to perform String / HeapBigInt comparisons. But
String and HeapBigInt are the only cells which require value comparison,
and the other cells can use pointer comparison check. We add quick
pointer comparison check + JSCell type check before going to the slow
path in LLInt and Baseline. We are not particularly changing DFG and FTL
as we specialize CompareStrictEq with type speculations.
* Source/JavaScriptCore/jit/JITOpcodes.cpp:
(JSC::JIT::compileOpStrictEq):
(JSC::JIT::compileOpStrictEqJump):
* Source/JavaScriptCore/llint/LowLevelInterpreter64.asm:
* Source/JavaScriptCore/runtime/JSType.h:
Canonical link: https://commits.webkit.org/313295@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications