Closed Bug 1383467 Opened 7 years ago Closed 7 years ago

Only cancel Ion compilations that use nursery pointers when performing a minor GC

Categories

(Core :: JavaScript: GC, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla56
Tracking Status
firefox56 --- fixed

People

(Reporter: bhackett1024, Assigned: bhackett1024)

References

Details

Attachments

(1 file)

Attached patch patchSplinter Review
Currently, when performing a minor GC if any off thread compilations associated with the collected runtime use nursery pointers then all such off thread compilations are cancelled.  IonBuilders keep track of whether they actually use nursery pointers, and on speedometer nearly half (~500) of the Ion compilations cancelled by minor GCs do not actually use nursery pointers.  This is pretty simple to fix, though doing so doesn't have much of an impact on the total number of cancellations --- many of the compilations end up being cancelled by other GC activity (I'll look into that next).
Attachment #8889097 - Flags: review?(jcoppeard)
Assignee: nobody → bhackett1024
Comment on attachment 8889097 [details] [diff] [review]
patch

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

Great, thank you for fixing this.

::: js/src/vm/HelperThreads.cpp
@@ +175,2 @@
>  {
>      struct ScriptMatches

This should probably be renamed BuilderMatches in line with the other changes.
Attachment #8889097 - Flags: review?(jcoppeard) → review+
Pushed by bhackett@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/09632f4493ef
Only cancel Ion compilations that use nursery pointers when performing a minor GC, r=jonco.
https://hg.mozilla.org/mozilla-central/rev/09632f4493ef
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
You need to log in before you can comment on or make changes to this bug.