Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 07c57b5abeaafd8f610e447f6856be748ae06fba
https://github.com/WebKit/WebKit/commit/07c57b5abeaafd8f610e447f6856be748ae06fba
Author: Yijia Huang <[email protected]>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
M Source/JavaScriptCore/dfg/DFGLoopUnrollingPhase.cpp
M Source/JavaScriptCore/runtime/Options.cpp
M Source/JavaScriptCore/runtime/OptionsList.h
R Tools/Scripts/compare-inlining
A Tools/Scripts/compare-optimization-tracing
Log Message:
-----------
[JSC] Standardize optimization tracing and enhance
compare-optimization-tracing tool
rdar://150226394
https://bugs.webkit.org/show_bug.cgi?id=292219
Reviewed by Yusuke Suzuki.
This patch:
- Standardizes DFG optimization tracing output using the [Category][JITType]
format.
- Adds the `dumpOptimizationTracing` option to enable detailed optimization
tracing (e.g., inlining, loop unrolling).
- Updates ByteCodeParser and LoopUnrollingPhase to produce standardized log
lines.
- Renames and enhances the existing `compare-inlining` script to
`compare-optimization-tracing`.
- Now supports comparing multiple optimization categories (e.g.,
[InlineCall], [UnrollLoop]).
- Supports comparing either a single test or a test list.
- Supports filtering by JIT type (e.g., FTL, DFG).
- Produces categorized diffs of optimization decisions between two builds.
Script Output Example:
=== Running for test: crypto-aes-SP ===
--- Category: [InlineCall] ---
Removed:
- [InlineCall][FTL] Callee: ShiftRows#DMl9Dq -> Caller: Cipher#EKYKxU
...
Added:
+ [InlineCall][DFG] Callee: #AvtfcL -> Caller: runIteration#Dlxe2p
...
--- Category: [UnrollLoop] ---
Removed:
None
Added:
+ [UnrollLoop][FTL][Full] function: AESDecryptCtr#BpghTe data: ...
* Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::inliningCost):
(JSC::DFG::ByteCodeParser::inlineCall):
(JSC::DFG::ByteCodeParser::handleCallVariant):
* Source/JavaScriptCore/dfg/DFGLoopUnrollingPhase.cpp:
(JSC::DFG::LoopUnrollingPhase::tryUnroll):
* Source/JavaScriptCore/runtime/Options.cpp:
(JSC::Options::notifyOptionsChanged):
* Source/JavaScriptCore/runtime/OptionsList.h:
* Tools/Scripts/compare-optimization-tracing: Renamed from
Tools/Scripts/compare-inlining.
(run_jsc_and_capture):
(run_jsc_and_capture.human_friendly_quote):
(parse_prefixes):
(extract_lines_by_category):
(compare_sets):
(run_comparison_for_test):
(main):
Canonical link: https://commits.webkit.org/294224@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