Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9e128ee528b7525975e9328b95718f29167fc4ff
      
https://github.com/WebKit/WebKit/commit/9e128ee528b7525975e9328b95718f29167fc4ff
  Author: Yusuke Suzuki <ysuz...@apple.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M Source/JavaScriptCore/runtime/BufferMemoryHandle.cpp
    M Source/JavaScriptCore/runtime/MemoryMode.cpp
    M Source/JavaScriptCore/runtime/MemoryMode.h
    M Source/JavaScriptCore/wasm/WasmAirIRGenerator32_64.cpp
    M Source/JavaScriptCore/wasm/WasmAirIRGenerator64.cpp
    M Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmCalleeGroup.cpp
    M Source/JavaScriptCore/wasm/WasmMemory.cpp

  Log Message:
  -----------
  [JSC] Reload baseMemory and boundsCheckingSize in the same way to instance
https://bugs.webkit.org/show_bug.cgi?id=251161
rdar://104653875

Reviewed by Justin Michaud.

If wasm memory mode is Signaling or memory is Shared one,

    1. baseMemory pointer never changes.
    2. boundsCheckingSize never changes.

So, this is effectively the same to instance pointer which also never changes.
We should do the same thing to instance's reloading scheme.
This improves wasm CallIndirect significantly: JetStream2/richards-wasm Runtime 
gets improved by 15% (16.129 -> 18.587).

* Source/JavaScriptCore/runtime/BufferMemoryHandle.cpp:
(JSC::BufferMemoryHandle::~BufferMemoryHandle):
* Source/JavaScriptCore/runtime/MemoryMode.cpp:
(WTF::printInternal):
* Source/JavaScriptCore/runtime/MemoryMode.h:
* Source/JavaScriptCore/wasm/WasmAirIRGenerator64.cpp:
(JSC::Wasm::AirIRGenerator64::useSignalingMemory const):
(JSC::Wasm::AirIRGenerator64::emitCheckAndPreparePointer):
* Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::useSignalingMemory const):
(JSC::Wasm::B3IRGenerator::instanceValue):
(JSC::Wasm::B3IRGenerator::baseMemoryValue):
(JSC::Wasm::B3IRGenerator::boundsCheckingSizeValue):
(JSC::Wasm::B3IRGenerator::B3IRGenerator):
(JSC::Wasm::B3IRGenerator::restoreWebAssemblyGlobalState):
(JSC::Wasm::B3IRGenerator::emitCheckAndPreparePointer):
* Source/JavaScriptCore/wasm/WasmCalleeGroup.cpp:
(JSC::Wasm::CalleeGroup::isSafeToRun):
* Source/JavaScriptCore/wasm/WasmMemory.cpp:
(JSC::Wasm::Memory::grow):

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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to