Closed Bug 835298 Opened 11 years ago Closed 10 years ago

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

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: h4writer, Unassigned)

References

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

Details

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 ...
Blocks: 765980
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.
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: general → nobody
Since creation of this bug the heuristics of inlining has changed a bit. As a result, this already gets inlined.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.