Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ed802fc9d1dfb05f12a8c6ca765956ef5088ee44
https://github.com/WebKit/WebKit/commit/ed802fc9d1dfb05f12a8c6ca765956ef5088ee44
Author: Yijia Huang <[email protected]>
Date: 2025-04-23 (Wed, 23 Apr 2025)
Changed paths:
M Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
M Source/JavaScriptCore/runtime/OptionsList.h
A Tools/Scripts/compare-inlining
Log Message:
-----------
[JSC] Add script to compare inlining output between builds for regression
analysis
https://bugs.webkit.org/show_bug.cgi?id=291922
rdar://149810861
Reviewed by Yusuke Suzuki.
Adds a Python script at Tools/Scripts/compare-inlining to assist in identifying
the root cause of performance regressions or progressions by comparing DFG/FTL
inlining behavior across JavaScriptCore builds.
The script:
- Runs a specified test file or CLI-based test on two JSC builds
- Extracts inlining logs tagged with [InlineCall]
- Supports filtering by JITType (e.g., FTL, DFG)
- Compares inlining entries between builds to detect additions/removals
- Provides a verbose mode to print command-line invocation, environment, and
full logs
This tool is useful for quickly spotting changes in inlining decisions that may
explain performance shifts observed in benchmarks.
Example usage:
compare-inlining -a <BUILD_A> -b <BUILD_B> --test <TEST> --cwd <DIR> --filter
FTL -v
Example out:
Running build A...
Running build B...
Inlining REMOVED from A to B:
None
Inlining ADDED from A to B:
+ [InlineCall] JITType: FTL | Callee: am3#Bmw15u -> Caller:
bnpMultiplyTo#D7LNcs
+ [InlineCall] JITType: FTL | Callee: am3#Bmw15u -> Caller: bnpSquareTo#DKK350
...
* Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::inlineCall):
* Source/JavaScriptCore/runtime/OptionsList.h:
* Tools/Scripts/compare-inlining: Added.
(run_jsc_and_capture):
(run_jsc_and_capture.human_friendly_quote):
(extract_inline_lines):
(compare_sets):
(main):
Canonical link: https://commits.webkit.org/294015@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