Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4bae80081d026204b62749ea3d48c35c5e2b7910 https://github.com/WebKit/WebKit/commit/4bae80081d026204b62749ea3d48c35c5e2b7910 Author: Yusuke Suzuki <ysuz...@apple.com> Date: 2024-09-23 (Mon, 23 Sep 2024)
Changed paths: M Source/JavaScriptCore/runtime/OptionsList.h M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp M Source/JavaScriptCore/wasm/WasmBBQJIT.h M Source/JavaScriptCore/wasm/WasmBBQPlan.cpp M Source/JavaScriptCore/wasm/WasmBBQPlan.h M Source/JavaScriptCore/wasm/WasmCallee.h M Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp M Source/JavaScriptCore/wasm/WasmOMGPlan.cpp M Source/JavaScriptCore/wasm/WasmOSREntryPlan.cpp M Source/JavaScriptCore/wasm/WasmOperations.cpp M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp Log Message: ----------- [JSC] Introduce maximumOMGCandidateCost https://bugs.webkit.org/show_bug.cgi?id=280143 rdar://136442062 Reviewed by Yijia Huang and Justin Michaud. This patch introduces maximumOMGCandidateCost limit (40000). If wasm function size becomes larger than that limit, we avoid compiling it in OMG. We estimate roughly 500ms compilation time for 40000 sized function, and sounds good threshold for this kind of huge function. Also we cleaned up TierUpCounter code in BBQCallee. We should always embed TierUpCounter into BBQCallee as it can be used for LLInt -> BBQ loop OSR entry too. * Source/JavaScriptCore/runtime/OptionsList.h: * Source/JavaScriptCore/wasm/WasmBBQJIT.cpp: (JSC::Wasm::BBQJITImpl::BBQJIT::BBQJIT): (JSC::Wasm::BBQJITImpl::BBQJIT::canTierUpToOMG const): (JSC::Wasm::BBQJITImpl::BBQJIT::emitEntryTierUpCheck): (JSC::Wasm::BBQJITImpl::BBQJIT::addLoopOSREntrypoint): (JSC::Wasm::BBQJITImpl::BBQJIT::emitLoopTierUpCheckAndOSREntryData): (JSC::Wasm::BBQJITImpl::BBQJIT::addEndToUnreachable): (JSC::Wasm::parseAndCompileBBQ): * Source/JavaScriptCore/wasm/WasmBBQJIT.h: * Source/JavaScriptCore/wasm/WasmBBQPlan.cpp: (JSC::Wasm::BBQPlan::work): (JSC::Wasm::BBQPlan::compileFunction): * Source/JavaScriptCore/wasm/WasmBBQPlan.h: * Source/JavaScriptCore/wasm/WasmCallee.h: * Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp: (JSC::IPInt::jitCompileAndSetHeuristics): (JSC::IPInt::WASM_IPINT_EXTERN_CPP_DECL): * Source/JavaScriptCore/wasm/WasmOMGPlan.cpp: (JSC::Wasm::OMGPlan::work): * Source/JavaScriptCore/wasm/WasmOSREntryPlan.cpp: (JSC::Wasm::OSREntryPlan::work): * Source/JavaScriptCore/wasm/WasmOperations.cpp: (JSC::Wasm::shouldOMGJIT): (JSC::Wasm::JSC_DEFINE_NOEXCEPT_JIT_OPERATION): (JSC::Wasm::shouldJIT): Deleted. * Source/JavaScriptCore/wasm/WasmSlowPaths.cpp: (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::jitCompileSIMDFunction): (JSC::LLInt::WASM_SLOW_PATH_DECL): Canonical link: https://commits.webkit.org/284097@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