[webkit-changes] [WebKit/WebKit] 9b26f5: [JSC] Optimize arity-fixup via load-pair / store-pair

Yusuke Suzuki noreply at github.com
Mon Oct 24 20:49:11 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9b26f540049cca27cec69a742b09cd4a52d50022
      https://github.com/WebKit/WebKit/commit/9b26f540049cca27cec69a742b09cd4a52d50022
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2022-10-24 (Mon, 24 Oct 2022)

  Changed paths:
    M Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
    M Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h
    M Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.cpp
    M Source/JavaScriptCore/jit/ThunkGenerators.cpp

  Log Message:
  -----------
  [JSC] Optimize arity-fixup via load-pair / store-pair
https://bugs.webkit.org/show_bug.cgi?id=244486

Reviewed by Michael Saboff.

Add pre/post index for ldp and stp in ARM64, and use them in arity-fixup since we already know that the main loop is aligned with 16-bytes.

* Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::loadPair32):
(JSC::MacroAssemblerARM64::loadPair64):
(JSC::MacroAssemblerARM64::storePair32):
(JSC::MacroAssemblerARM64::storePair64):
* Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.cpp:
(JSC::ARM64Disassembler::A64DOpcode::init):
(JSC::ARM64Disassembler::A64DOpcodeLoadStoreRegisterPair::format):
* Source/JavaScriptCore/jit/ThunkGenerators.cpp:
(JSC::arityFixupGenerator):

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




More information about the webkit-changes mailing list