[webkit-changes] [WebKit/WebKit] 5aa644: [Armv7] Enable BBQ loop tier-up

Justin Michaud noreply at github.com
Fri May 10 07:14:26 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5aa644ca5bd931ecb0d44d5d3e1dfb47081aa985
      https://github.com/WebKit/WebKit/commit/5aa644ca5bd931ecb0d44d5d3e1dfb47081aa985
  Author: Justin Michaud <justin at justinmichaud.com>
  Date:   2024-05-10 (Fri, 10 May 2024)

  Changed paths:
    M Source/JavaScriptCore/llint/WebAssembly.asm
    M Source/JavaScriptCore/runtime/Options.cpp
    M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
    M Source/JavaScriptCore/wasm/WasmBBQJIT.h
    M Source/JavaScriptCore/wasm/WasmBBQJIT32_64.cpp
    M Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp
    M Source/JavaScriptCore/wasm/WasmBBQPlan.cpp
    M Source/JavaScriptCore/wasm/WasmOperations.cpp
    M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp

  Log Message:
  -----------
  [Armv7] Enable BBQ loop tier-up
https://bugs.webkit.org/show_bug.cgi?id=273771

Reviewed by Keith Miller.

Today, ARMv7 does not support LLInt->BBQ loop osr. This is primarily because
OMG is not supported on ARMv7, and LLInt->BBQ loop osr re-uses the stackmap
from BBQ->OMG loop osr. This patch generates that stack map in all cases.

It also fixes a stack alignemnt bug in loop osr, which is missing an armv7 case.

* Source/JavaScriptCore/llint/WebAssembly.asm:
* Source/JavaScriptCore/runtime/Options.cpp:
(JSC::Options::notifyOptionsChanged):
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJITImpl::BBQJIT::emitEntryTierUpCheck):
(JSC::Wasm::BBQJITImpl::BBQJIT::emitLoopTierUpCheckAndOSREntryData):
(JSC::Wasm::BBQJITImpl::BBQJIT::addLoop):
(JSC::Wasm::BBQJITImpl::BBQJIT::endTopLevel):
(JSC::Wasm::BBQJITImpl::BBQJIT::emitLoopTierUpCheck): Deleted.
* Source/JavaScriptCore/wasm/WasmBBQJIT.h:
(JSC::Wasm::BBQJITImpl::BBQJIT::stackCheckSize const):
* Source/JavaScriptCore/wasm/WasmBBQJIT32_64.cpp:
(JSC::Wasm::BBQJITImpl::BBQJIT::alignedFrameSize const):
(JSC::Wasm::BBQJITImpl::BBQJIT::alignedFrameSize): Deleted.
* Source/JavaScriptCore/wasm/WasmBBQPlan.cpp:
(JSC::Wasm::BBQPlan::work):
* Source/JavaScriptCore/wasm/WasmOperations.cpp:
(JSC::Wasm::shouldJIT):
* Source/JavaScriptCore/wasm/WasmSlowPaths.cpp:
(JSC::LLInt::WASM_SLOW_PATH_DECL):

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



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


More information about the webkit-changes mailing list