Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c323bd22eabf78d8dcf13b84666c8bb83855444d https://github.com/WebKit/WebKit/commit/c323bd22eabf78d8dcf13b84666c8bb83855444d Author: Yusuke Suzuki <ysuz...@apple.com> Date: 2023-08-11 (Fri, 11 Aug 2023)
Changed paths: M Source/JavaScriptCore/bytecode/CodeBlock.cpp M Source/JavaScriptCore/bytecode/CodeBlock.h M Source/JavaScriptCore/bytecode/ExecutionCounter.cpp M Source/JavaScriptCore/bytecode/ExecutionCounter.h M Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp M Source/JavaScriptCore/runtime/OptionsList.h Log Message: ----------- [JSC] Make profiling check-pointing longer for mega functions https://bugs.webkit.org/show_bug.cgi?id=260010 rdar://113668308 Reviewed by Justin Michaud. While we designed our profiling collection with "they are cheap" assumption, this is not true for some mega-sized functions. There are some mega-sized functions, which can be generated by toolings etc., has massive amount of ValueProfiles, and causing very long stop for profile update. In this patch, we attempt to avoid this pathological case. When function size exceeds the threshold, we categorize it as mega-sized, and we relax maximumExecutionCountsBetweenCheckpoints more larger. Because we do profiling update on each checkpoint, making it longer means less frequent profiling update. * Source/JavaScriptCore/bytecode/CodeBlock.cpp: (JSC::CodeBlock::optimizationThresholdScalingFactor const): (JSC::CodeBlock::optimizationThresholdScalingFactor): Deleted. * Source/JavaScriptCore/bytecode/CodeBlock.h: * Source/JavaScriptCore/bytecode/ExecutionCounter.cpp: (JSC::maximumExecutionCountsBetweenCheckpoints): (JSC::ExecutionCounter<countingVariant>::hasCrossedThreshold const): (JSC::ExecutionCounter<countingVariant>::setThreshold): * Source/JavaScriptCore/bytecode/ExecutionCounter.h: (JSC::ExecutionCounter::clippedThreshold): (JSC::ExecutionCounter::maximumExecutionCountsBetweenCheckpoints): Deleted. * Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::handleExitCounts): * Source/JavaScriptCore/runtime/OptionsList.h: Canonical link: https://commits.webkit.org/266819@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes