[webkit-changes] [WebKit/WebKit] 481c8c: [JSC] Remove Wasm BBQ Air code generator

Yusuke Suzuki noreply at github.com
Fri Sep 1 17:25:50 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 481c8cf69ba4af4bf8f52f164b6cc44c7f6262cf
      https://github.com/WebKit/WebKit/commit/481c8cf69ba4af4bf8f52f164b6cc44c7f6262cf
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2023-09-01 (Fri, 01 Sep 2023)

  Changed paths:
    M JSTests/wasm.yaml
    M JSTests/wasm/gc/bug252719.js
    M JSTests/wasm/regress/242294.js
    M JSTests/wasm/stress/simd-unreachable.js
    M JSTests/wasm/stress/tail-call.js
    M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
    M Source/JavaScriptCore/Sources.txt
    M Source/JavaScriptCore/interpreter/StackVisitor.cpp
    M Source/JavaScriptCore/jit/PCToCodeOriginMap.cpp
    M Source/JavaScriptCore/jit/PCToCodeOriginMap.h
    M Source/JavaScriptCore/llint/LLIntOfflineAsmConfig.h
    M Source/JavaScriptCore/llint/WebAssembly.asm
    M Source/JavaScriptCore/runtime/Options.cpp
    M Source/JavaScriptCore/runtime/OptionsList.h
    R Source/JavaScriptCore/wasm/WasmAirIRGenerator.h
    R Source/JavaScriptCore/wasm/WasmAirIRGenerator32_64.cpp
    R Source/JavaScriptCore/wasm/WasmAirIRGenerator64.cpp
    R Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h
    M Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmB3IRGenerator.h
    M Source/JavaScriptCore/wasm/WasmBBQDisassembler.cpp
    M Source/JavaScriptCore/wasm/WasmBBQDisassembler.h
    M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
    M Source/JavaScriptCore/wasm/WasmBBQJIT.h
    M Source/JavaScriptCore/wasm/WasmBBQPlan.cpp
    M Source/JavaScriptCore/wasm/WasmBBQPlan.h
    M Source/JavaScriptCore/wasm/WasmCallee.cpp
    M Source/JavaScriptCore/wasm/WasmCallee.h
    M Source/JavaScriptCore/wasm/WasmCalleeGroup.cpp
    M Source/JavaScriptCore/wasm/WasmCalleeGroup.h
    M Source/JavaScriptCore/wasm/WasmCallsiteCollection.cpp
    M Source/JavaScriptCore/wasm/WasmConstExprGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmFormat.h
    M Source/JavaScriptCore/wasm/WasmFunctionParser.h
    M Source/JavaScriptCore/wasm/WasmIPIntGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmIRGeneratorHelpers.h
    M Source/JavaScriptCore/wasm/WasmOMGPlan.cpp
    M Source/JavaScriptCore/wasm/WasmOMGPlan.h
    M Source/JavaScriptCore/wasm/WasmOSREntryData.h
    M Source/JavaScriptCore/wasm/WasmOSREntryPlan.cpp
    M Source/JavaScriptCore/wasm/WasmOSREntryPlan.h
    M Source/JavaScriptCore/wasm/WasmOpcodeOrigin.cpp
    M Source/JavaScriptCore/wasm/WasmOpcodeOrigin.h
    M Source/JavaScriptCore/wasm/WasmOperations.cpp
    M Source/JavaScriptCore/wasm/WasmOperations.h
    M Source/JavaScriptCore/wasm/WasmSIMDOpcodes.h
    M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp
    M Source/JavaScriptCore/wasm/WasmSlowPaths.h
    M Source/JavaScriptCore/wasm/WasmThunks.cpp
    M Source/JavaScriptCore/wasm/WasmThunks.h
    M Source/JavaScriptCore/wasm/WasmTierUpCount.cpp
    M Source/JavaScriptCore/wasm/WasmTierUpCount.h
    M Source/JavaScriptCore/wasm/WasmTypeDefinition.h
    M Source/WTF/wtf/PlatformEnable.h
    M Source/cmake/WebKitFeatures.cmake
    M Tools/Scripts/run-jsc-stress-tests

  Log Message:
  -----------
  [JSC] Remove Wasm BBQ Air code generator
https://bugs.webkit.org/show_bug.cgi?id=261042
rdar://114832639

Reviewed by Keith Miller.

This patch removes Wasm BBQ Air code generator. We landed new single pass WasmBBQJIT 6 months ago,
and it already gets stabilized. Many code already started assuming this new WasmBBQJIT, and new
features (like, WasmGC etc.) are only implemented / tested on new WasmBBQJIT now.
Also, this significantly reduces JSTests variations since it has many conditions running tests with
Wasm Air flag, which mode is not used in ARM64 / x64 anymore.

We also remove many Wasm BBQ Air code generator related flags, and rename useSinglePassBBQJIT to useBBQJIT
since now this new WasmBBQJIT is the only canonical BBQJIT.

* JSTests/wasm/gc/bug252719.js:
(testIntFields):
* JSTests/wasm/regress/242294.js:
* JSTests/wasm/stress/simd-unreachable.js:
* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
* Source/JavaScriptCore/Sources.txt:
* Source/JavaScriptCore/interpreter/StackVisitor.cpp:
(JSC::StackVisitor::readInlinableNativeCalleeFrame):
* Source/JavaScriptCore/jit/PCToCodeOriginMap.cpp:
* Source/JavaScriptCore/jit/PCToCodeOriginMap.h:
* Source/JavaScriptCore/llint/LLIntOfflineAsmConfig.h:
* Source/JavaScriptCore/llint/WebAssembly.asm:
* Source/JavaScriptCore/runtime/Options.cpp:
(JSC::Options::notifyOptionsChanged):
* Source/JavaScriptCore/runtime/OptionsList.h:
* Source/JavaScriptCore/wasm/WasmAirIRGenerator.h: Removed.
* Source/JavaScriptCore/wasm/WasmAirIRGenerator32_64.cpp: Removed.
* Source/JavaScriptCore/wasm/WasmAirIRGenerator64.cpp: Removed.
* Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h: Removed.
* Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:
* Source/JavaScriptCore/wasm/WasmB3IRGenerator.h:
* Source/JavaScriptCore/wasm/WasmBBQDisassembler.cpp:
* Source/JavaScriptCore/wasm/WasmBBQDisassembler.h:
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
* Source/JavaScriptCore/wasm/WasmBBQJIT.h:
* Source/JavaScriptCore/wasm/WasmBBQPlan.cpp:
(JSC::Wasm::BBQPlan::dumpDisassembly):
(JSC::Wasm::BBQPlan::work):
(JSC::Wasm::BBQPlan::compileFunction):
(JSC::Wasm::BBQPlan::planGeneratesLoopOSREntrypoints): Deleted.
* Source/JavaScriptCore/wasm/WasmBBQPlan.h:
* Source/JavaScriptCore/wasm/WasmCallee.cpp:
(JSC::Wasm::Callee::runWithDowncast):
* Source/JavaScriptCore/wasm/WasmCallee.h:
* Source/JavaScriptCore/wasm/WasmCalleeGroup.cpp:
(JSC::Wasm::CalleeGroup::CalleeGroup):
* Source/JavaScriptCore/wasm/WasmCalleeGroup.h:
* Source/JavaScriptCore/wasm/WasmCallsiteCollection.cpp:
* Source/JavaScriptCore/wasm/WasmFormat.h:
* Source/JavaScriptCore/wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::parseBody):
(JSC::Wasm::FunctionParser<Context>::parseExpression):
(JSC::Wasm::FunctionParser<Context>::parseUnreachableExpression):
* Source/JavaScriptCore/wasm/WasmIRGeneratorHelpers.h:
(JSC::Wasm::computeExceptionHandlerAndLoopEntrypointLocations):
* Source/JavaScriptCore/wasm/WasmOMGPlan.cpp:
* Source/JavaScriptCore/wasm/WasmOMGPlan.h:
* Source/JavaScriptCore/wasm/WasmOSREntryData.h:
* Source/JavaScriptCore/wasm/WasmOSREntryPlan.cpp:
* Source/JavaScriptCore/wasm/WasmOSREntryPlan.h:
* Source/JavaScriptCore/wasm/WasmOpcodeOrigin.cpp:
* Source/JavaScriptCore/wasm/WasmOpcodeOrigin.h:
* Source/JavaScriptCore/wasm/WasmOperations.cpp:
* Source/JavaScriptCore/wasm/WasmOperations.h:
* Source/JavaScriptCore/wasm/WasmSlowPaths.cpp:
(JSC::LLInt::WASM_SLOW_PATH_DECL):
(JSC::LLInt::WASM_IPINT_EXTERN_CPP_DECL):
* Source/JavaScriptCore/wasm/WasmSlowPaths.h:
* Source/JavaScriptCore/wasm/WasmThunks.cpp:
* Source/JavaScriptCore/wasm/WasmThunks.h:
* Source/JavaScriptCore/wasm/WasmTierUpCount.cpp:
* Source/JavaScriptCore/wasm/WasmTierUpCount.h:
* Source/JavaScriptCore/wasm/WasmTypeDefinition.h:
* Source/WTF/wtf/PlatformEnable.h:
* Source/cmake/WebKitFeatures.cmake:
* Tools/Scripts/run-jsc-stress-tests:

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




More information about the webkit-changes mailing list