IonMonkey: inlining earley-boyer.js:530 fails on caller not hot enough

RESOLVED WORKSFORME

Status

()

RESOLVED WORKSFORME
6 years ago
4 years ago

People

(Reporter: h4writer, Unassigned)

Tracking

(Depends on: 1 bug, Blocks: 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

6 years ago
When inlining all possible "new sc_Pair()" in IM we get a 4% boost. The reason we don't inline it, is because the caller is not hot enough. The caller use count needs to be 2560 or higher in this case, but is only 2380 at that time.

In bug 824249 this heuristic also gets removed ...
(Reporter)

Updated

6 years ago
Blocks: 765980
(Reporter)

Updated

6 years ago
Depends on: 824249
Yeah, that removal in bug 824249 is to deal with x -> y -> z inlining where y is often but not always called by x.  When we trigger compilation of x the use count for y is not high enough to trigger inlining of z, even though before too long x will be called enough times to increase the use count of y appropriately.  Bug 824249 has been waiting on bug 796114 but I can land it sooner if it will help.
(Reporter)

Comment 2

6 years ago
Thanks for the explanation. Since bug 796114 got a r+, I think we better wait until that lands. This isn't high priority. Right now I'm only logging the bits needed to improve our earley-boyer score ;).
(Assignee)

Updated

4 years ago
Assignee: general → nobody
(Reporter)

Comment 3

4 years ago
Since creation of this bug the heuristics of inlining has changed a bit. As a result, this already gets inlined.
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.