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

Reply via email to