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