Closed Bug 1773480 Opened 2 years ago Closed 2 years ago

Swap frame pointer and stub pointer in BaselineStub frames

Categories

(Core :: JavaScript Engine: JIT, task, P3)

task

Tracking

()

RESOLVED FIXED
103 Branch
Tracking Status
firefox103 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

Details

Attachments

(3 files)

We currently push the return address, stub pointer and caller frame pointer. For external stack unwinders it would be less confusing if we switched the last two.

This also gets us closer to adding the caller frame pointer to the CommonFrameLayout.

This is more consistent with what we do for the other frame types.

This was added for the old shared-stubs mechanism for Ion stubs.

Depends on D148777

The frame pointer is now pushed immediately after the return address, to help
native stack unwinders.

The main problem here was that STUB_FRAME_SIZE now has to be split in StubFrameSize and
StubFrameSizeFromFP because the latter now doesn't have to skip the stub pointer.

Depends on D148778

Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/bf7b37cb46c2 part 1 - Use GetPreviousRawFrame for BaselineStub frames too. r=iain https://hg.mozilla.org/integration/autoland/rev/9b3a441d5bd1 part 2 - Remove JitStubFrameLayout. r=iain https://hg.mozilla.org/integration/autoland/rev/c355076e750f part 3 - Swap stub pointer and frame pointer in BaselineStub frames. r=iain
Blocks: 1773648
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 103 Branch
Regressions: 1774145
Regressions: 1776825
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: