Closed Bug 1774166 Opened 2 years ago Closed 2 years ago

Change lastProfilingFrame to point to the saved frame pointer

Categories

(Core :: JavaScript Engine, task, P3)

task

Tracking

()

RESOLVED FIXED
103 Branch
Tracking Status
firefox103 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

Details

Attachments

(3 files)

This will get us a step closer to removing the frame size from the frame descriptor and adding the frame pointer field to the frame layout.

The profiler enter-frame instrumentation now happens after pushing the frame pointer,
and the exit-frame trampoline is used before restoring the frame and stack pointers.

This is a little awkward because the frame pointer isn't in the frame layout yet, but
it does move us one step closer to changing that. This will also make it possible to
remove the frame size from the frame descriptor.

We already had code to ignore samples where the return address isn't on the stack.
Extend this to the frame pointer, because the JIT frame unwinder will soon need that
too.

Depends on D149217

Blocks: 1774149
Pushed by jdemooij@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9b9a84eee6a7
part 1 - Change lastProfilingFrame to point to the saved frame pointer. r=iain
https://hg.mozilla.org/integration/autoland/rev/098fc56d2f5a
part 2 - Change Wasm profiling iterator to treat JitEntry stubs without a pushed FP as incomplete. r=iain
https://hg.mozilla.org/integration/autoland/rev/678e177324f7
part 3 - Assert frame pointers match frame descriptors in JSJitProfilingFrameIterator. r=iain
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 103 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: