[webkit-changes] [WebKit/WebKit] 9e128e: [JSC] Reload baseMemory and boundsCheckingSize in ...
Yusuke Suzuki
noreply at github.com
Wed Jan 25 14:23:03 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9e128ee528b7525975e9328b95718f29167fc4ff
https://github.com/WebKit/WebKit/commit/9e128ee528b7525975e9328b95718f29167fc4ff
Author: Yusuke Suzuki <ysuzuki at 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
More information about the webkit-changes
mailing list