Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5c29435c27adc9f6de7c9a5cbf565367bf08f89b
      
https://github.com/WebKit/WebKit/commit/5c29435c27adc9f6de7c9a5cbf565367bf08f89b
  Author: Yusuke Suzuki <[email protected]>
  Date:   2024-06-26 (Wed, 26 Jun 2024)

  Changed paths:
    M Source/JavaScriptCore/jit/AssemblyHelpers.cpp
    M Source/JavaScriptCore/jit/AssemblyHelpers.h
    M Source/JavaScriptCore/jit/BaselineJITRegisters.h
    M Source/JavaScriptCore/jit/JITCall.cpp
    M Source/JavaScriptCore/jit/JITOpcodes.cpp

  Log Message:
  -----------
  [JSC] Add inlined fast path for jfalse
https://bugs.webkit.org/show_bug.cgi?id=275891
rdar://130563487

Reviewed by Keith Miller.

We found that valueIsFalsey / valueIsTruthy are very costly in Baseline JIT.
We optimize them with the following things.

1. Inline some of hot path in Baseline JIT
2. We do not load JSGlobalObject until it becomes necessary.

* Source/JavaScriptCore/jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::branchIfValue):
* Source/JavaScriptCore/jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::branchIfTruthy):
(JSC::AssemblyHelpers::branchIfFalsey):
* Source/JavaScriptCore/jit/BaselineJITRegisters.h:
* Source/JavaScriptCore/jit/JITCall.cpp:
(JSC::JIT::emit_op_iterator_next):
* Source/JavaScriptCore/jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_jfalse):
(JSC::JIT::valueIsFalseyGenerator):
(JSC::JIT::valueIsTruthyGenerator):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to