Closed Bug 880891 Opened 6 years ago Closed 6 years ago

IonMonkey: Only set WatchObjectStateChange when we are certain we will inline a function

Categories

(Core :: JavaScript Engine, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla24

People

(Reporter: h4writer, Assigned: h4writer)

Details

Attachments

(1 file)

We are setting WatchObjectStateChange to trigger recompilation of inlined scripts. But we do this already before our heuristics decide if we really want to inline that function. As a result all inlineable functions will trigger recompilation (even if it is decided not inline that function). 

I noticed this when looking at ARM Box2D. Probably more noticable because the box testing didn't do parallel compilation (one core? or parallel compilation not enabled?). But the multiple bailouts are also on x86!

This should remove the ARM 40% regression on Box2D
Attached patch PatchSplinter Review
Assignee: general → hv1989
Attachment #760007 - Flags: review?(kvijayan)
Comment on attachment 760007 [details] [diff] [review]
Patch

Review of attachment 760007 [details] [diff] [review]:
-----------------------------------------------------------------

Nice find.
Attachment #760007 - Flags: review?(kvijayan) → review+
https://hg.mozilla.org/mozilla-central/rev/313e1ff9266d
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla24
You need to log in before you can comment on or make changes to this bug.