Skip to content

Some preparations for a function list panel - #6401

Merged
mstange merged 2 commits into
firefox-devtools:mainfrom
mstange:push-qxxvmrxvwvom
Oct 21, 2026
Merged

mstange merged 2 commits into
firefox-devtools:mainfrom
mstange:push-qxxvmrxvwvom

Conversation

@mstange

@mstange mstange commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Main | Deploy preview

This adds getBottomBoxInfoForFunction, which we'll want for a function list panel.

This PR also makes a change to profiler-cli behavior with the help of the new support code: When I was using profiler-cli on large libxul binary size profiles, profiler-cli function annotate --mode asm would sometimes request assembly for thousands of different native symbols and time out. The second patch limits the number of native symbols we show assembly for in the CLI.

@mstange
mstange requested a review from canova October 19, 2026 22:07
@codecov

codecov Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 75.00000% with 13 lines in your changes missing coverage. Please review.
✅ Project coverage is 84.78%. Comparing base (e0b5e5e) to head (7892c63).
⚠️ Report is 5 commits behind head on main.

Files with missing lines Patch % Lines
src/profile-logic/bottom-box.ts 76.00% 5 Missing and 1 partial ⚠️
src/profile-query/function-annotate.ts 58.33% 5 Missing ⚠️
src/profile-logic/call-tree.ts 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6401      +/-   ##
==========================================
- Coverage   84.79%   84.78%   -0.01%     
==========================================
  Files         358      358              
  Lines       38895    38946      +51     
  Branches    11023    11019       -4     
==========================================
+ Hits        32982    33022      +40     
- Misses       5478     5488      +10     
- Partials      435      436       +1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@canova canova left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

const prefix = prefixCol[stackIndex];
funcFramePerStack[stackIndex] =
prefix !== null ? funcFramePerStack[prefix] : -1;
prefix !== -1 ? funcFramePerStack[prefix] : -1;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is squashed to the incorrect commit. It should be squashed to the first one.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oops, fixed

The bottom box can currently only be opened for a call node. Add the
equivalent lookup for a bare function index, so that views which select
functions rather than call nodes can open the bottom box too.
…ative symbols.

A function inlined in many places can have tens of thousands of native symbols. Each one cost a pass over the whole stack table plus an assembly fetch, so the daemon appeared to hang.
@mstange
mstange enabled auto-merge October 21, 2026 18:34
@mstange
mstange added this pull request to the merge queue Oct 21, 2026
Merged via the queue into firefox-devtools:main with commit e7a7f8a Oct 21, 2026
21 of 23 checks passed
@fatadel fatadel mentioned this pull request Oct 22, 2026
fatadel added a commit that referenced this pull request Oct 22, 2026
Changes:

[Markus Stange] Accept more fields from symbolication. (#6373)
[Markus Stange] Support index source maps. (#6399)
[fatadel] Make CompositorScreenshot markers schema-based (#6261)
[Markus Stange] Use inverted transforms in the tests for inverted call node paths. (#6393)
[fatadel] Expose and clear URL-imported call tree search in the CLI (#6387)
[Markus Stange] Make the scrollable editor view in the source view cover the full height of the panel, even if the source code is short. (#6405)
[Nazım Can Altınova] Silence profile loader logs in profile-querier-url tests (#6409)
[Nazım Can Altınova] Add `--js-sources-from-func-names` to `profiler-edit` (#6394)
[Nazım Can Altınova] Look for a source file's address proof in all of its frames (#6407)
[Markus Stange] Some preparations for a function list panel (#6401)
[fatadel] Use fractional seconds with adaptive precision for CLI marker timestamps (#6384)
[fatadel] 🔃 Sync: l10n -> main (October 22, 2026) (#6415)
[Markus Stange] Switch to TypeScript 7 (tsgo) and replace ESLint with oxlint (#6354)
[fatadel] Bump profiler-cli version to 0.12.0 (#6416)

And special thanks to our localizers:

el: Jim Spentzos
uk: Lobodzets, uya2521, Іhor Hordiichuk
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants