[webkit-changes] [WebKit/WebKit] 87b83b: Re-express some ARM64E emitters using a NUMBER_OF_...

Commit Queue noreply at github.com
Mon May 1 17:08:23 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 87b83b04feed5dac6d32423bf7a4d3a844c680bc
      https://github.com/WebKit/WebKit/commit/87b83b04feed5dac6d32423bf7a4d3a844c680bc
  Author: Mark Lam <mark.lam at apple.com>
  Date:   2023-05-01 (Mon, 01 May 2023)

  Changed paths:
    M Source/JavaScriptCore/assembler/ARM64Assembler.h
    M Source/JavaScriptCore/assembler/ARM64EAssembler.h
    M Source/JavaScriptCore/assembler/MacroAssemblerARM64.h

  Log Message:
  -----------
  Re-express some ARM64E emitters using a NUMBER_OF_ADDRESS_ENCODING_INSTRUCTIONS parameter in ARM64Assembler
https://bugs.webkit.org/show_bug.cgi?id=256146
rdar://108708885

Reviewed by Justin Michaud.

The only difference between the ARM64 and ARM64E versions of these emitters is due to the
NUMBER_OF_ADDRESS_ENCODING_INSTRUCTIONS.  By making the ARM64 emitters aware of
NUMBER_OF_ADDRESS_ENCODING_INSTRUCTIONS, we can remove the redundant code in ARM64EAssembler.

NUMBER_OF_ADDRESS_ENCODING_INSTRUCTIONS is set differently for CPU(ARM64E) vs just CPU(ARM64).

* Source/JavaScriptCore/assembler/ARM64Assembler.h:
* Source/JavaScriptCore/assembler/ARM64EAssembler.h:
(JSC::ARM64EAssembler::eretab):
(JSC::ARM64EAssembler::linkPointer): Deleted.
(JSC::ARM64EAssembler::repatchPointer): Deleted.
(JSC::ARM64EAssembler::setPointer): Deleted.
(JSC::ARM64EAssembler::readPointer): Deleted.
(JSC::ARM64EAssembler::readCallTarget): Deleted.
* Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::moveWithFixedWidth):

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




More information about the webkit-changes mailing list