Closed Bug 1776367 Opened 2 years ago Closed 2 years ago

Add frame pointer to RegExp stubs

Categories

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

task

Tracking

()

RESOLVED FIXED
104 Branch
Tracking Status
firefox104 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

Details

Attachments

(2 files)

The RegExp{Matcher,Searcher,Tester} stubs and regular expression JIT code don't have their own frame pointer. This means that when we call a regular expression from Ion code, we don't see this Ion frame in perf + jitdump profiles.

We can fix this by adding a frame pointer to these stubs. This also lets us simplify the code a bit because we can use the frame pointer to access stack slots.

This improves profiling with "perf" a bit because we now don't lose the Ion frame
anymore. It also lets us simplify the code because we can now use the frame pointer
instead of the stack pointer (less stable due to stack pushes).

Depends on D150223

Pushed by jdemooij@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ec1f18778d50
part 1 - Annotate RegExp code for perf/VTune. r=iain
https://hg.mozilla.org/integration/autoland/rev/b6c4f07384e0
part 2 - Add frame pointer to RegExp stubs. r=iain
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 104 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: