[webkit-changes] [WebKit/WebKit] dea264: [JSC] Drop Imm64 in Air and extend ARM64 Imm

Yusuke Suzuki noreply at github.com
Thu Jun 15 02:33:53 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: dea264bd949dc97e63e12e4845dd219018e69d11
      https://github.com/WebKit/WebKit/commit/dea264bd949dc97e63e12e4845dd219018e69d11
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2023-06-15 (Thu, 15 Jun 2023)

  Changed paths:
    M Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
    M Source/JavaScriptCore/b3/B3LowerToAir.cpp
    M Source/JavaScriptCore/b3/air/AirArg.cpp
    M Source/JavaScriptCore/b3/air/AirArg.h
    M Source/JavaScriptCore/b3/air/AirOpcode.opcodes
    M Source/JavaScriptCore/b3/air/opcode_generator.rb

  Log Message:
  -----------
  [JSC] Drop Imm64 in Air and extend ARM64 Imm
https://bugs.webkit.org/show_bug.cgi?id=258103
rdar://110811740

Reviewed by Mark Lam.

It turned out that Imm64 concept is not necessary in ARM64. All Imm places can take 12-shifted Imm too.
So, this patch just extends ARM64 Imm in Air to accept 12-bit shifted value too. And remove Imm64 concept from Air.

* Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::add32):
(JSC::MacroAssemblerARM64::add64):
(JSC::MacroAssemblerARM64::sub32):
(JSC::MacroAssemblerARM64::sub64):
(JSC::MacroAssemblerARM64::moveConditionally32):
(JSC::MacroAssemblerARM64::moveConditionally64):
(JSC::MacroAssemblerARM64::moveDoubleConditionally32):
(JSC::MacroAssemblerARM64::moveDoubleConditionally64):
(JSC::MacroAssemblerARM64::branch32):
(JSC::MacroAssemblerARM64::branch64):
(JSC::MacroAssemblerARM64::branchAdd32):
(JSC::MacroAssemblerARM64::branchAdd64):
(JSC::MacroAssemblerARM64::branchSub32):
(JSC::MacroAssemblerARM64::branchSub64):
(JSC::MacroAssemblerARM64::compare32):
(JSC::MacroAssemblerARM64::compare64):
(JSC::MacroAssemblerARM64::tryFoldBaseAndOffsetPart):
(JSC::MacroAssemblerARM64::tryExtractShiftedImm):
* Source/JavaScriptCore/b3/B3LowerToAir.cpp:
* Source/JavaScriptCore/b3/air/AirArg.cpp:
(JSC::B3::Air::Arg::jsHash const):
(JSC::B3::Air::Arg::dump const):
(WTF::printInternal):
* Source/JavaScriptCore/b3/air/AirArg.h:
(JSC::B3::Air::Arg::isSomeImm const):
(JSC::B3::Air::Arg::isGP const):
(JSC::B3::Air::Arg::isFP const):
(JSC::B3::Air::Arg::hasBank const):
(JSC::B3::Air::Arg::isValidImmForm):
(JSC::B3::Air::Arg::isValidForm const):
(JSC::B3::Air::Arg::imm64): Deleted.
(JSC::B3::Air::Arg::isImm64 const): Deleted.
(JSC::B3::Air::Arg::isValidImm64Form): Deleted.
* Source/JavaScriptCore/b3/air/AirOpcode.opcodes:
* Source/JavaScriptCore/b3/air/opcode_generator.rb:

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




More information about the webkit-changes mailing list