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

Reply via email to