Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9e128ee528b7525975e9328b95718f29167fc4ff
https://github.com/WebKit/WebKit/commit/9e128ee528b7525975e9328b95718f29167fc4ff
Author: Yusuke Suzuki <[email protected]>
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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes