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

  Changed paths:
    M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
    M Source/JavaScriptCore/Sources.txt
    M Source/JavaScriptCore/b3/B3LowerToAir.cpp
    M Source/JavaScriptCore/b3/B3Procedure.h
    M Source/JavaScriptCore/b3/air/AirAllocateRegistersByGreedy.cpp
    M Source/JavaScriptCore/b3/air/AirCustom.h
    M Source/JavaScriptCore/b3/air/AirEmitShuffle.cpp
    M Source/JavaScriptCore/b3/air/AirEmitShuffle.h
    M Source/JavaScriptCore/b3/air/AirGenerate.cpp
    M Source/JavaScriptCore/b3/air/AirLowerAfterRegAlloc.cpp
    R Source/JavaScriptCore/b3/air/AirLowerMacros.cpp
    R Source/JavaScriptCore/b3/air/AirLowerMacros.h
    M Source/JavaScriptCore/b3/air/AirOpcode.opcodes
    M Source/JavaScriptCore/b3/air/testair.cpp

  Log Message:
  -----------
  [JSC] Remove Air::lowerMacros
https://bugs.webkit.org/show_bug.cgi?id=318177
rdar://180988076

Reviewed by Yijia Huang and Justin Michaud.

Originally this phase existed because we were emitting Air inst directly
from Wasm BBQ, and we do not want to emit low-level sequence of
Air instructions for SIMD etc. But it is not happening now and it does
not make sense to have this phase since B3 is basically a macro for Air.
We should directly lower B3 nodes to Air instead of using some Air nodes
as a macro.

We also track the use of ColdCCall and Shuffle, and run
lowerAfterRegAlloc only when we have these Air insts. They are rare ones
so we may not have them in major cases.

* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
* Source/JavaScriptCore/Sources.txt:
* Source/JavaScriptCore/b3/B3LowerToAir.cpp:
* Source/JavaScriptCore/b3/B3Procedure.h:
(JSC::B3::Procedure::setUsesColdCCall):
(JSC::B3::Procedure::usesColdCCall const):
(JSC::B3::Procedure::setUsesShuffle):
(JSC::B3::Procedure::usesShuffle const):
* Source/JavaScriptCore/b3/air/AirAllocateRegistersByGreedy.cpp:
(JSC::B3::Air::Greedy::GreedyAllocator::insertFixupCode):
* Source/JavaScriptCore/b3/air/AirCustom.h:
* Source/JavaScriptCore/b3/air/AirEmitShuffle.cpp:
(JSC::B3::Air::createShuffle):
* Source/JavaScriptCore/b3/air/AirEmitShuffle.h:
* Source/JavaScriptCore/b3/air/AirGenerate.cpp:
(JSC::B3::Air::prepareForGeneration):
* Source/JavaScriptCore/b3/air/AirLowerAfterRegAlloc.cpp:
(JSC::B3::Air::lowerAfterRegAlloc):
* Source/JavaScriptCore/b3/air/AirLowerMacros.cpp: Removed.
* Source/JavaScriptCore/b3/air/AirLowerMacros.h: Removed.
* Source/JavaScriptCore/b3/air/AirOpcode.opcodes:
* Source/JavaScriptCore/b3/air/testair.cpp:

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



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

Reply via email to