Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6fb457d666569b6c3283728fe582fd75d1caa29c
https://github.com/WebKit/WebKit/commit/6fb457d666569b6c3283728fe582fd75d1caa29c
Author: Yusuke Suzuki <[email protected]>
Date: 2025-02-03 (Mon, 03 Feb 2025)
Changed paths:
A JSTests/slowMicrobenchmarks/hashset-wasm-load.js
M Source/JavaScriptCore/wasm/WasmCallingConvention.h
M Source/JavaScriptCore/wasm/WasmFunctionIPIntMetadataGenerator.cpp
M Source/JavaScriptCore/wasm/WasmFunctionIPIntMetadataGenerator.h
M Source/JavaScriptCore/wasm/WasmIPIntGenerator.cpp
M Source/JavaScriptCore/wasm/WasmTypeDefinition.cpp
M Source/JavaScriptCore/wasm/WasmTypeDefinition.h
M Source/JavaScriptCore/wasm/WasmValueLocation.h
Log Message:
-----------
[JSC] Optimize wasm compilation more
https://bugs.webkit.org/show_bug.cgi?id=286943
rdar://144105710
Reviewed by Keith Miller and Yijia Huang.
This further optimizes wasm compilation time.
1. Use appendUsingFunctor more to avoid repeated bound-check and
capacity extension.
2. Make TypeDefinition::unroll better optimized with inlining policy.
3. Add one-level cache for CallInformation in IPInt generator to avoid
repeated computation of this information.
4. Make ArgumentLocation and ValueLocation memcpy-able.
* JSTests/slowMicrobenchmarks/hashset-wasm-load.js: Added.
* Source/JavaScriptCore/wasm/WasmCallingConvention.h:
* Source/JavaScriptCore/wasm/WasmIPIntGenerator.cpp:
(JSC::Wasm::IPIntGenerator::cachedCallInformationFor):
(JSC::Wasm::IPIntGenerator::addCallCommonData):
(JSC::Wasm::IPIntGenerator::addTailCallCommonData):
(JSC::Wasm::IPIntGenerator::addCall):
(JSC::Wasm::IPIntGenerator::addCallIndirect):
(JSC::Wasm::IPIntGenerator::addCallRef):
* Source/JavaScriptCore/wasm/WasmTypeDefinition.cpp:
(JSC::Wasm::TypeDefinition::unrollSlow const):
(JSC::Wasm::TypeDefinition::unroll const): Deleted.
* Source/JavaScriptCore/wasm/WasmTypeDefinition.h:
(JSC::Wasm::Type::width const):
(JSC::Wasm::TypeDefinition::unroll const):
* Source/JavaScriptCore/wasm/WasmValueLocation.h:
Canonical link: https://commits.webkit.org/289752@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes