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

Reply via email to