Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6b7f7447287dd93b8742b5e24ab12047cf6edf48 https://github.com/WebKit/WebKit/commit/6b7f7447287dd93b8742b5e24ab12047cf6edf48 Author: Keith Miller <keith_mil...@apple.com> Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths: M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj M Source/JavaScriptCore/Sources.txt M Source/JavaScriptCore/bytecode/CodeBlock.h M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp M Source/JavaScriptCore/heap/CellAttributes.h M Source/JavaScriptCore/heap/Heap.cpp M Source/JavaScriptCore/heap/IsoCellSet.cpp M Source/JavaScriptCore/heap/IsoCellSet.h M Source/JavaScriptCore/heap/IsoCellSetInlines.h M Source/JavaScriptCore/heap/IsoSubspace.cpp M Source/JavaScriptCore/heap/IsoSubspace.h M Source/JavaScriptCore/heap/IsoSubspaceInlines.h M Source/JavaScriptCore/heap/IsoSubspacePerVM.cpp M Source/JavaScriptCore/heap/LocalAllocator.cpp M Source/JavaScriptCore/heap/MarkedBlock.h M Source/JavaScriptCore/heap/MarkedSpace.cpp M Source/JavaScriptCore/heap/PreciseAllocation.cpp M Source/JavaScriptCore/heap/PreciseAllocation.h M Source/JavaScriptCore/heap/Subspace.h M Source/JavaScriptCore/interpreter/CallFrame.cpp M Source/JavaScriptCore/interpreter/CallFrame.h M Source/JavaScriptCore/interpreter/CallFrameInlines.h M Source/JavaScriptCore/interpreter/Interpreter.cpp M Source/JavaScriptCore/interpreter/ProtoCallFrame.h M Source/JavaScriptCore/jit/AssemblyHelpers.cpp M Source/JavaScriptCore/jit/JITCode.h M Source/JavaScriptCore/jsc.cpp M Source/JavaScriptCore/llint/InPlaceInterpreter.asm M Source/JavaScriptCore/llint/InPlaceInterpreter64.asm M Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp M Source/JavaScriptCore/llint/LowLevelInterpreter.asm M Source/JavaScriptCore/llint/WebAssembly.asm M Source/JavaScriptCore/llint/WebAssembly32_64.asm M Source/JavaScriptCore/llint/WebAssembly64.asm M Source/JavaScriptCore/runtime/JSCell.cpp M Source/JavaScriptCore/runtime/JSCell.h M Source/JavaScriptCore/runtime/Structure.h M Source/JavaScriptCore/runtime/VM.cpp M Source/JavaScriptCore/runtime/VM.h M Source/JavaScriptCore/runtime/WeakGCSet.h M Source/JavaScriptCore/runtime/WeakGCSetInlines.h M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp M Source/JavaScriptCore/wasm/WasmBBQJIT.h M Source/JavaScriptCore/wasm/WasmBBQJIT32_64.cpp M Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp M Source/JavaScriptCore/wasm/WasmBinding.cpp M Source/JavaScriptCore/wasm/WasmCallee.cpp M Source/JavaScriptCore/wasm/WasmCallee.h M Source/JavaScriptCore/wasm/WasmConstExprGenerator.cpp M Source/JavaScriptCore/wasm/WasmConstExprGenerator.h M Source/JavaScriptCore/wasm/WasmContext.h M Source/JavaScriptCore/wasm/WasmGlobal.h M Source/JavaScriptCore/wasm/WasmHandlerInfo.cpp M Source/JavaScriptCore/wasm/WasmHandlerInfo.h M Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp M Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.h M Source/JavaScriptCore/wasm/WasmIRGeneratorHelpers.h R Source/JavaScriptCore/wasm/WasmInstance.cpp R Source/JavaScriptCore/wasm/WasmInstance.h M Source/JavaScriptCore/wasm/WasmJS.h M Source/JavaScriptCore/wasm/WasmMemory.cpp M Source/JavaScriptCore/wasm/WasmMemory.h M Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp M Source/JavaScriptCore/wasm/WasmOMGIRGenerator32_64.cpp M Source/JavaScriptCore/wasm/WasmOperations.cpp M Source/JavaScriptCore/wasm/WasmOperations.h M Source/JavaScriptCore/wasm/WasmOperationsInlines.h M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp M Source/JavaScriptCore/wasm/WasmSlowPaths.h M Source/JavaScriptCore/wasm/WasmTable.cpp M Source/JavaScriptCore/wasm/WasmTable.h M Source/JavaScriptCore/wasm/WasmThunks.cpp M Source/JavaScriptCore/wasm/js/JSToWasm.cpp M Source/JavaScriptCore/wasm/js/JSWebAssembly.cpp M Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.cpp M Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.h M Source/JavaScriptCore/wasm/js/JSWebAssemblyMemory.cpp M Source/JavaScriptCore/wasm/js/JSWebAssemblyMemory.h M Source/JavaScriptCore/wasm/js/JSWebAssemblyStruct.cpp M Source/JavaScriptCore/wasm/js/JSWebAssemblyTable.cpp M Source/JavaScriptCore/wasm/js/WasmToJS.cpp M Source/JavaScriptCore/wasm/js/WasmToJS.h M Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyInstanceConstructor.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyWrapperFunction.cpp M Source/WebCore/bindings/js/SerializedScriptValue.cpp Log Message: ----------- Merge Wasm::Instance into JSWebAssemblyInstance https://bugs.webkit.org/show_bug.cgi?id=276963 rdar://problem/132330783 Reviewed by Yusuke Suzuki. This patch combines `Wasm::Instance` into `JSWebAssemblyInstance` by mostly just merging the two together. In order to make this work a couple interesting changes had to made: 1) IsoSubspaces now support variable-sized precise-only configurations. In this configuration an IsoSubspace can support variable sized objects that are always allocated as precise allocations. This is ok for JSWebAssemblyInstances because they are both relatively rare and typically quite large. One thing to note is that IsoSubpsaces in this configuration don't (currently) support IsoCellSets since those expect a max of eight precise allocations. 2) Wasm::Memory used to have a `HashSet<WeakPtr<Wasm::Instance>>` in order to update the cached memory bounds/base but now uses a `WeakGCSet<JSWebAssemblyInstance>` instead. This works because `Wasm::Memory`s are essentially tied to a single VM anyway. 3) WeakGCSet now works out of the box without a custom hasher. It uses the underlying value as the key, which is probably what people expect. The only constraint is that `WeakHandleOwner`s are not supported, currently. It's a little unclear how we would support more than one anyway since a `Weak` only supports one `WeakHandleOwner` in its `WeakImpl` 4) the `current_memory` instruction now has one more dependent load since `JSWebAssemblyInstance` doesn't hold a direct pointer to `Wasm::Memory` and only points to `JSWebAssemblyMemory` but `current_memory` isn't a hot instruction and hopefully we'll merge `Wasm::Memory` into `JSWebAssemblyMemory` in the near future. Some other cleanup changes: 1) Add a copyright to the IPInt .asm files 2) capitalize `arraySegmentOperation` to `ArraySegmentOperation` correctly for a type per WebKit style. In the future we should: 1) Get rid of instance GC anchoring since the JSCell is now in a register. 2) Merge `Wasm::Memory` into `JSWebAssemblyMemory` * Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj: * Source/JavaScriptCore/Sources.txt: * Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): * Source/JavaScriptCore/heap/CellAttributes.h: * Source/JavaScriptCore/heap/IsoCellSet.cpp: (JSC::IsoCellSet::IsoCellSet): * Source/JavaScriptCore/heap/IsoSubspace.cpp: (JSC::IsoSubspace::IsoSubspace): (JSC::IsoSubspace::tryAllocatePrecise): (JSC::IsoSubspace::sweepLowerTierCell): (JSC::IsoSubspace::tryAllocateFromLowerTier): Deleted. * Source/JavaScriptCore/heap/IsoSubspace.h: * Source/JavaScriptCore/heap/IsoSubspaceInlines.h: (JSC::IsoSubspace::forEachLowerTierFreeListedAllocation): (JSC::IsoSubspace::forEachLowerTierFreeListedPreciseAllocation): Deleted. * Source/JavaScriptCore/heap/LocalAllocator.cpp: (JSC::LocalAllocator::allocateSlowCase): * Source/JavaScriptCore/heap/PreciseAllocation.cpp: (JSC::PreciseAllocation::tryCreateForLowerTier): (JSC::PreciseAllocation::prepareForReuse): (JSC::PreciseAllocation::reuseForLowerTier): Deleted. * Source/JavaScriptCore/heap/PreciseAllocation.h: (JSC::PreciseAllocation::lowerTierIndex const): * Source/JavaScriptCore/heap/Subspace.h: (JSC::Subspace::isPreciseOnly const): * Source/JavaScriptCore/interpreter/CallFrame.cpp: (JSC::CallFrame::dump const): (JSC::CallFrame::codeOwnerCellSlow const): (JSC::CallFrame::wasmInstance const): * Source/JavaScriptCore/interpreter/CallFrame.h: * Source/JavaScriptCore/interpreter/CallFrameInlines.h: (JSC::CallFrame::wasmInstance const): Deleted. * Source/JavaScriptCore/interpreter/Interpreter.cpp: (JSC::UnwindFunctor::operator() const): * Source/JavaScriptCore/interpreter/ProtoCallFrame.h: * Source/JavaScriptCore/jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::prepareWasmCallOperation): (JSC::AssemblyHelpers::checkWasmStackOverflow): * Source/JavaScriptCore/jsc.cpp: (JSC_DEFINE_HOST_FUNCTION): * Source/JavaScriptCore/llint/InPlaceInterpreter.asm: * Source/JavaScriptCore/llint/InPlaceInterpreter64.asm: * Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp: * Source/JavaScriptCore/llint/LowLevelInterpreter.asm: * Source/JavaScriptCore/llint/WebAssembly.asm: * Source/JavaScriptCore/llint/WebAssembly32_64.asm: * Source/JavaScriptCore/llint/WebAssembly64.asm: * Source/JavaScriptCore/runtime/JSCell.cpp: (JSC::reportZappedCellAndCrash): * Source/JavaScriptCore/runtime/JSCell.h: * Source/JavaScriptCore/runtime/VM.cpp: (JSC::VM::updateStackLimits): (JSC::VM::registerWasmInstance): Deleted. * Source/JavaScriptCore/runtime/VM.h: * Source/JavaScriptCore/runtime/WeakGCSet.h: (JSC::WeakGCSetHash::hash): (JSC::WeakGCSetHash::equal): * Source/JavaScriptCore/runtime/WeakGCSetInlines.h: (JSC::TraitsArg>::find): Deleted. (JSC::TraitsArg>::find const): Deleted. (JSC::TraitsArg>::contains const): Deleted. * Source/JavaScriptCore/wasm/WasmBBQJIT.cpp: (JSC::Wasm::BBQJITImpl::BBQJIT::emitWriteBarrier): (JSC::Wasm::BBQJITImpl::BBQJIT::addCurrentMemory): (JSC::Wasm::BBQJITImpl::BBQJIT::pushArrayNewFromSegment): (JSC::Wasm::BBQJITImpl::BBQJIT::addTopLevel): (JSC::Wasm::BBQJITImpl::BBQJIT::addLoopOSREntrypoint): (JSC::Wasm::BBQJITImpl::BBQJIT::loadWebAssemblyGlobalState): (JSC::Wasm::BBQJITImpl::BBQJIT::addCall): (JSC::Wasm::BBQJITImpl::BBQJIT::emitIndirectCall): (JSC::Wasm::BBQJITImpl::BBQJIT::addCallIndirect): * Source/JavaScriptCore/wasm/WasmBBQJIT.h: * Source/JavaScriptCore/wasm/WasmBBQJIT32_64.cpp: (JSC::Wasm::BBQJITImpl::BBQJIT::getGlobal): (JSC::Wasm::BBQJITImpl::BBQJIT::setGlobal): (JSC::Wasm::BBQJITImpl::BBQJIT::addCallRef): * Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp: (JSC::Wasm::BBQJITImpl::BBQJIT::getGlobal): (JSC::Wasm::BBQJITImpl::BBQJIT::setGlobal): (JSC::Wasm::BBQJITImpl::BBQJIT::restoreWebAssemblyGlobalStateAfterWasmCall): (JSC::Wasm::BBQJITImpl::BBQJIT::addCallRef): * Source/JavaScriptCore/wasm/WasmBinding.cpp: (JSC::Wasm::wasmToWasm): * Source/JavaScriptCore/wasm/WasmCallee.cpp: (JSC::Wasm::Callee::handlerForIndex): (JSC::Wasm::IPIntCallee::calleeSaveRegistersImpl): (JSC::Wasm::LLIntCallee::calleeSaveRegistersImpl): * Source/JavaScriptCore/wasm/WasmCallee.h: * Source/JavaScriptCore/wasm/WasmConstExprGenerator.cpp: (JSC::Wasm::ConstExprGenerator::ConstExprGenerator): (JSC::Wasm::ConstExprGenerator::createNewArray): (JSC::Wasm::ConstExprGenerator::createNewStruct): (JSC::Wasm::evaluateExtendedConstExpr): * Source/JavaScriptCore/wasm/WasmConstExprGenerator.h: * Source/JavaScriptCore/wasm/WasmContext.h: * Source/JavaScriptCore/wasm/WasmGlobal.h: * Source/JavaScriptCore/wasm/WasmHandlerInfo.cpp: (JSC::Wasm::HandlerInfo::handlerForIndex): * Source/JavaScriptCore/wasm/WasmHandlerInfo.h: * Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp: (JSC::IPInt::jitCompileAndSetHeuristics): (JSC::IPInt::WASM_IPINT_EXTERN_CPP_DECL_1P): (JSC::IPInt::doWasmCall): * Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.h: * Source/JavaScriptCore/wasm/WasmIRGeneratorHelpers.h: (JSC::Wasm::emitRethrowImpl): (JSC::Wasm::emitThrowImpl): (JSC::Wasm::buildEntryBufferForCatch): * Source/JavaScriptCore/wasm/WasmInstance.cpp: Removed. * Source/JavaScriptCore/wasm/WasmInstance.h: Removed. * Source/JavaScriptCore/wasm/WasmJS.h: * Source/JavaScriptCore/wasm/WasmMemory.cpp: (JSC::Wasm::Memory::Memory): (JSC::Wasm::Memory::create): (JSC::Wasm::Memory::createZeroSized): (JSC::Wasm::Memory::tryCreate): (JSC::Wasm::Memory::growShared): (JSC::Wasm::Memory::registerInstance): * Source/JavaScriptCore/wasm/WasmMemory.h: * Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp: (JSC::Wasm::OMGIRGenerator::emitPrepareWasmOperation): (JSC::Wasm::OMGIRGenerator::reloadMemoryRegistersFromInstance): (JSC::Wasm::OMGIRGenerator::emitIndirectCall): (JSC::Wasm::OMGIRGenerator::addCurrentMemory): (JSC::Wasm::OMGIRGenerator::getGlobal): (JSC::Wasm::OMGIRGenerator::setGlobal): (JSC::Wasm::OMGIRGenerator::emitWriteBarrierForJSWrapper): (JSC::Wasm::OMGIRGenerator::emitStructSet): (JSC::Wasm::OMGIRGenerator::pushArrayNewFromSegment): (JSC::Wasm::OMGIRGenerator::emitArraySetUnchecked): (JSC::Wasm::OMGIRGenerator::addCall): (JSC::Wasm::OMGIRGenerator::addCallIndirect): (JSC::Wasm::OMGIRGenerator::addCallRef): * Source/JavaScriptCore/wasm/WasmOMGIRGenerator32_64.cpp: (JSC::Wasm::OMGIRGenerator::emitPrepareWasmOperation): (JSC::Wasm::OMGIRGenerator::reloadMemoryRegistersFromInstance): (JSC::Wasm::OMGIRGenerator::emitIndirectCall): (JSC::Wasm::OMGIRGenerator::addCurrentMemory): (JSC::Wasm::OMGIRGenerator::getGlobal): (JSC::Wasm::OMGIRGenerator::setGlobal): (JSC::Wasm::OMGIRGenerator::emitWriteBarrierForJSWrapper): (JSC::Wasm::OMGIRGenerator::emitCheckAndPreparePointer): (JSC::Wasm::OMGIRGenerator::emitStructSet): (JSC::Wasm::OMGIRGenerator::pushArrayNewFromSegment): (JSC::Wasm::OMGIRGenerator::emitArraySetUnchecked): (JSC::Wasm::OMGIRGenerator::addCall): (JSC::Wasm::OMGIRGenerator::addCallIndirect): (JSC::Wasm::OMGIRGenerator::addCallRef): * Source/JavaScriptCore/wasm/WasmOperations.cpp: (JSC::Wasm::triggerOMGReplacementCompile): (JSC::Wasm::doOSREntry): (JSC::Wasm::JSC_DEFINE_NOEXCEPT_JIT_OPERATION): * Source/JavaScriptCore/wasm/WasmOperations.h: * Source/JavaScriptCore/wasm/WasmOperationsInlines.h: (JSC::Wasm::refFunc): (JSC::Wasm::fillArray): (JSC::Wasm::arrayNew): (JSC::Wasm::copyElementsInReverse): (JSC::Wasm::arrayNewFixed): (JSC::Wasm::createArrayValue): (JSC::Wasm::createArrayFromDataSegment): (JSC::Wasm::createArrayFromElementSegment): (JSC::Wasm::arrayNewData): (JSC::Wasm::arrayNewElem): (JSC::Wasm::arrayGet): (JSC::Wasm::arraySet): (JSC::Wasm::arrayCopy): (JSC::Wasm::arrayInitElem): (JSC::Wasm::arrayInitData): (JSC::Wasm::structNew): (JSC::Wasm::tableGet): (JSC::Wasm::tableSet): (JSC::Wasm::tableInit): (JSC::Wasm::tableFill): (JSC::Wasm::tableGrow): (JSC::Wasm::tableCopy): (JSC::Wasm::tableSize): (JSC::Wasm::growMemory): (JSC::Wasm::memoryInit): (JSC::Wasm::memoryFill): (JSC::Wasm::memoryCopy): (JSC::Wasm::dataDrop): (JSC::Wasm::elemDrop): (JSC::Wasm::memoryAtomicWait32): (JSC::Wasm::memoryAtomicWait64): (JSC::Wasm::memoryAtomicNotify): (JSC::Wasm::throwWasmToJSException): * Source/JavaScriptCore/wasm/WasmSlowPaths.cpp: (JSC::LLInt::wasm_log_crash): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::jitCompileSIMDFunction): (JSC::LLInt::doWasmCall): (JSC::LLInt::doWasmCallIndirect): (JSC::LLInt::doWasmCallRef): (JSC::LLInt::WASM_SLOW_PATH_DECL): (JSC::LLInt::slow_path_wasm_throw_exception): * Source/JavaScriptCore/wasm/WasmSlowPaths.h: * Source/JavaScriptCore/wasm/WasmTable.cpp: (JSC::Wasm::FuncRefTable::setFunction): * Source/JavaScriptCore/wasm/WasmTable.h: * Source/JavaScriptCore/wasm/WasmThunks.cpp: (JSC::Wasm::throwExceptionFromWasmThunkGenerator): (JSC::Wasm::catchInWasmThunkGenerator): * Source/JavaScriptCore/wasm/js/JSToWasm.cpp: (JSC::Wasm::createJSToWasmWrapper): * Source/JavaScriptCore/wasm/js/JSWebAssembly.cpp: (JSC::instantiate): * Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finishCreation): (JSC::JSWebAssemblyInstance::~JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::visitChildrenImpl): (JSC::JSWebAssemblyInstance::initializeImports): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::tryCreate): (JSC::JSWebAssemblyInstance::clearJSCallICs): (JSC::JSWebAssemblyInstance::finalizeUnconditionally): (JSC::JSWebAssemblyInstance::extraMemoryAllocated const): (JSC::JSWebAssemblyInstance::setGlobal): (JSC::JSWebAssemblyInstance::getFunctionWrapper const): (JSC::JSWebAssemblyInstance::setFunctionWrapper): (JSC::JSWebAssemblyInstance::table): (JSC::JSWebAssemblyInstance::tableCopy): (JSC::JSWebAssemblyInstance::elemDrop): (JSC::JSWebAssemblyInstance::memoryInit): (JSC::JSWebAssemblyInstance::dataDrop): (JSC::JSWebAssemblyInstance::elementAt const): (JSC::JSWebAssemblyInstance::initElementSegment): (JSC::JSWebAssemblyInstance::copyDataSegment): (JSC::JSWebAssemblyInstance::copyElementSegment): (JSC::JSWebAssemblyInstance::evaluateConstantExpression): (JSC::JSWebAssemblyInstance::tableInit): (JSC::JSWebAssemblyInstance::setTable): (JSC::JSWebAssemblyInstance::linkGlobal): (JSC::JSWebAssemblyInstance::setTag): * Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.h: * Source/JavaScriptCore/wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::JSWebAssemblyMemory): * Source/JavaScriptCore/wasm/js/JSWebAssemblyMemory.h: * Source/JavaScriptCore/wasm/js/JSWebAssemblyStruct.cpp: (JSC::JSWebAssemblyStruct::tryCreate): * Source/JavaScriptCore/wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::set): * Source/JavaScriptCore/wasm/js/WasmToJS.cpp: (JSC::Wasm::materializeImportJSCell): (JSC::Wasm::wasmToJS): (JSC::Wasm::emitThrowWasmToJSException): * Source/JavaScriptCore/wasm/js/WasmToJS.h: * Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): (JSC::WebAssemblyFunction::jsCallEntrypointSlow): * Source/JavaScriptCore/wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): * Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::link): (JSC::WebAssemblyModuleRecord::initializeImports): (JSC::WebAssemblyModuleRecord::initializeExports): (JSC::WebAssemblyModuleRecord::evaluateConstantExpression): (JSC::WebAssemblyModuleRecord::evaluate): * Source/JavaScriptCore/wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::WebAssemblyWrapperFunction::create): * Source/WebCore/bindings/js/SerializedScriptValue.cpp: (WebCore::CloneDeserializer::readTerminal): Canonical link: https://commits.webkit.org/281277@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes