Add --enable-ic-frame-pointers
Categories
(Core :: JavaScript Engine: JIT, enhancement, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox113 | --- | fixed |
People
(Reporter: jrmuizel, Assigned: iain)
References
(Blocks 2 open bugs)
Details
(Whiteboard: [sp3] )
Attachments
(4 files)
This means we'll attribute time spent in them to the caller's caller instead of the caller when looking at a JS only profile.
There's an example here: https://share.firefox.dev/3KXgZkz.
- a bunch of IC's have
IC: TrialInline
as their caller when it should likely beBaseline: filter
orBaseline: map
jandem suggests that we could have a mode to add frame pointer epilogue/prologue code to baseline ICs
and iain says:
If it's just a mode for profiling, maybe we could make it 64-bit only and dedicate a separate register for the baseline frame pointer
So rbp would point to the stub frame, and (say) r14 would point to the baseline frame
It's hard to make it work on 32 bit x86 because we're already so short on registers
Reporter | ||
Updated•2 years ago
|
Updated•2 years ago
|
Comment 1•2 years ago
|
||
The severity field is not set for this bug.
:willyelm, could you have a look please?
For more information, please visit auto_nag documentation.
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 3•2 years ago
|
||
This interferes with frame pointers and is only being used for a single op. Given the overhead of a VM call, doing a tail call here doesn't seem worthwhile.
Assignee | ||
Comment 4•2 years ago
|
||
Depends on D173386
Assignee | ||
Comment 5•2 years ago
|
||
Depends on D173387
Assignee | ||
Comment 6•2 years ago
|
||
These two encodings are equivalent, but the perf team's patches to perf are built around the one that LLVM uses. We can simplify things by changing our encoding.
Unfortunately we have some tests that hardcode specific encodings that have to be updated. Tested on try for both Linux and Windows.
Depends on D173388
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Comment 8•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/32227614c7f1
https://hg.mozilla.org/mozilla-central/rev/d5c403a4e05f
https://hg.mozilla.org/mozilla-central/rev/4ae02092a204
https://hg.mozilla.org/mozilla-central/rev/6d97efe0c291
Description
•