Add frame pointer to all arguments rectifier frames
Categories
(Core :: JavaScript Engine: JIT, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox103 | --- | fixed |
People
(Reporter: jandem, Assigned: jandem)
References
Details
Attachments
(3 files)
On 32-bit x86 we store the frame pointer in the rectifier frame, but not on other platforms. We can simplify some code by doing this for all architectures, and we want to do this anyway for bug 1771085.
Assignee | ||
Comment 1•2 years ago
|
||
There are some subtle differences between x86 and x64, in particular on x64 we were
adding 1 to argc
immediately and on x86 we did this later.
This patch makes the x64 code more similar to x86, but because x86 has the pushed
frame pointer already, there are still some different computations. That is addressed
more in the next patch.
Assignee | ||
Comment 2•2 years ago
|
||
We were doing this on 32-bit x86 but not other platforms.
This complicates the epilogue code a bit because we have to pop the frame pointer
now, but once we have frame pointers everywhere we can simplify this to the standard
epilogue sequence.
On x64, replace the use of r9
with FramePointer
. This is now very similar to x86.
Depends on D148252
Assignee | ||
Comment 3•2 years ago
|
||
Because the saved frame pointer is not yet in the frame layout, add the offset
manually. We can likely simplify this later.
Depends on D148253
Comment 5•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/19f06e78b888
https://hg.mozilla.org/mozilla-central/rev/ee6c5abd46a2
https://hg.mozilla.org/mozilla-central/rev/69459b18dd50
Description
•