Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d801f1e36011760cbbdf313c054c630f24c5e359
      
https://github.com/WebKit/WebKit/commit/d801f1e36011760cbbdf313c054c630f24c5e359
  Author: Yusuke Suzuki <[email protected]>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M Source/JavaScriptCore/b3/air/AirArg.cpp
    M Source/JavaScriptCore/b3/air/AirArg.h
    M Source/JavaScriptCore/b3/air/AirKind.h
    M Source/JavaScriptCore/b3/air/AirLowerStackArgs.cpp
    M Source/JavaScriptCore/b3/air/opcode_generator.rb

  Log Message:
  -----------
  [JSC] Make sizeof(Air::Arg) 16
https://bugs.webkit.org/show_bug.cgi?id=318822
rdar://181638333

Reviewed by Yijia Huang.

This patch shrinks sizeof(Air::Arg) from 24 to 16. This is important to
shrink the sizeof(Air::Inst) as it includes 3 Air::Arg instances. We can
pack them since all the fields are not used at all time. Some of them
are mutually exclusively used so we do not need to keep all of them.
We also pack Air::Kind into uint16_t size.

* Source/JavaScriptCore/b3/air/AirArg.cpp:
(JSC::B3::Air::Arg::jsHash const):
(JSC::B3::Air::Arg::dump const):
* Source/JavaScriptCore/b3/air/AirArg.h:
(JSC::B3::Air::Arg::Arg):
(JSC::B3::Air::Arg::imm):
(JSC::B3::Air::Arg::bigImm):
(JSC::B3::Air::Arg::bitImm):
(JSC::B3::Air::Arg::bitImm64):
(JSC::B3::Air::Arg::fpImm32):
(JSC::B3::Air::Arg::fpImm64):
(JSC::B3::Air::Arg::fpImm128):
(JSC::B3::Air::Arg::simpleAddr):
(JSC::B3::Air::Arg::addr):
(JSC::B3::Air::Arg::extendedOffsetAddr):
(JSC::B3::Air::Arg::stack):
(JSC::B3::Air::Arg::index):
(JSC::B3::Air::Arg::preIndex):
(JSC::B3::Air::Arg::postIndex):
(JSC::B3::Air::Arg::relCond):
(JSC::B3::Air::Arg::resCond):
(JSC::B3::Air::Arg::doubleCond):
(JSC::B3::Air::Arg::statusCond):
(JSC::B3::Air::Arg::special):
(JSC::B3::Air::Arg::widthArg):
(JSC::B3::Air::Arg::zeroReg):
(JSC::B3::Air::Arg::operator== const):
(JSC::B3::Air::Arg::tmp const):
(JSC::B3::Air::Arg::value const):
(JSC::B3::Air::Arg::pointerValue const):
(JSC::B3::Air::Arg::ptr const):
(JSC::B3::Air::Arg::base const):
(JSC::B3::Air::Arg::offset const):
(JSC::B3::Air::Arg::stackSlot const):
(JSC::B3::Air::Arg::index const):
(JSC::B3::Air::Arg::scale const):
(JSC::B3::Air::Arg::logScale const):
(JSC::B3::Air::Arg::special const):
(JSC::B3::Air::Arg::width const):
(JSC::B3::Air::Arg::forEachTmpFast):
(JSC::B3::Air::Arg::forEachTmp):
(JSC::B3::Air::Arg::asTrustedImm32 const):
(JSC::B3::Air::Arg::asV128 const):
(JSC::B3::Air::Arg::asAddress const):
(JSC::B3::Air::Arg::asBaseIndex const):
(JSC::B3::Air::Arg::asPreIndexAddress const):
(JSC::B3::Air::Arg::asPostIndexAddress const):
(JSC::B3::Air::Arg::asRelationalCondition const):
(JSC::B3::Air::Arg::asResultCondition const):
(JSC::B3::Air::Arg::asDoubleCondition const):
(JSC::B3::Air::Arg::asStatusCondition const):
(JSC::B3::Air::Arg::hash const):
* Source/JavaScriptCore/b3/air/AirKind.h:
(JSC::B3::Air::Kind::Kind):
(JSC::B3::Air::Kind::hash const):
(JSC::B3::Air::Kind::raw const):
(JSC::B3::Air::Kind::fromRaw):
* Source/JavaScriptCore/b3/air/AirLowerStackArgs.cpp:
(JSC::B3::Air::lowerStackArgs):
* Source/JavaScriptCore/b3/air/opcode_generator.rb:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to