[webkit-changes] [WebKit/WebKit] 7dd021: [JSC] Fix wasm table / memory operation conditions...

Yusuke Suzuki noreply at github.com
Sat Feb 18 09:35:32 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7dd0217d82bb6f9414a3186c0b28c80c9b071fdd
      https://github.com/WebKit/WebKit/commit/7dd0217d82bb6f9414a3186c0b28c80c9b071fdd
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2023-02-18 (Sat, 18 Feb 2023)

  Changed paths:
    M Source/JavaScriptCore/assembler/AbstractMacroAssembler.h
    M Source/JavaScriptCore/assembler/LinkBuffer.cpp
    M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
    M Source/JavaScriptCore/wasm/WasmOperations.cpp
    M Source/JavaScriptCore/wasm/WasmOperations.h
    M Source/JavaScriptCore/wasm/WasmOperationsInlines.h

  Log Message:
  -----------
  [JSC] Fix wasm table / memory operation conditions in new wasm BBQ
https://bugs.webkit.org/show_bug.cgi?id=252528
rdar://105627708

Reviewed by Mark Lam.

1. Fix wasm table / memory operation conditions. We should use branchTest32 instead of branchTest64 to test exception condition.
   We also use UCPUStrictInt32 to ensure that return GPR is clearing the upper bits too.
2. Fix frame size rounding code.
3. Move emitEntryTierUpCheck place since it can clobber some argument registers.
4. Fix some more conditions about AssemblyComments.

* Source/JavaScriptCore/assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::comment):
* Source/JavaScriptCore/assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::linkComments):
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJIT::addTableSet):
(JSC::Wasm::BBQJIT::addTableInit):
(JSC::Wasm::BBQJIT::addTableFill):
(JSC::Wasm::BBQJIT::addTableCopy):
(JSC::Wasm::BBQJIT::addMemoryFill):
(JSC::Wasm::BBQJIT::addMemoryCopy):
(JSC::Wasm::BBQJIT::addMemoryInit):
(JSC::Wasm::BBQJIT::emitModOrDiv):
(JSC::Wasm::BBQJIT::addTopLevel):
(JSC::Wasm::BBQJIT::allocateStack):
* Source/JavaScriptCore/wasm/WasmOperations.cpp:
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
* Source/JavaScriptCore/wasm/WasmOperations.h:
* Source/JavaScriptCore/wasm/WasmOperationsInlines.h:
(JSC::Wasm::tableInit):
(JSC::Wasm::tableFill):
(JSC::Wasm::tableCopy):
(JSC::Wasm::memoryInit):
(JSC::Wasm::memoryFill):
(JSC::Wasm::memoryCopy):

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




More information about the webkit-changes mailing list