Closed Bug 964214 Opened 6 years ago Closed 6 years ago

GenerationalGC: Some minor improvements to minor collection

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla29

People

(Reporter: jonco, Assigned: jonco)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

No description provided.
Attached patch dont-wait-for-bgSplinter Review
Currently we wait for background sweeping to finish before we start a minor GC.  Since we don't alter the marks bits, I don't think this is necessary.
Attachment #8365878 - Flags: review?(terrence)
Blocks: 875863
Attached patch dont-recompactSplinter Review
If a store buffer is found to be about to overflow when we try to put a new entry we compact it, and if that fails to free any space, we trigger a minor GC.  That minor GC will unnecessarily try to compact the buffer again.

Compacting a full store buffer takes ~300 uS on my machine.
Attachment #8365879 - Flags: review?(terrence)
Comment on attachment 8365878 [details] [diff] [review]
dont-wait-for-bg

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

Makes sense. r=me
Attachment #8365878 - Flags: review?(terrence) → review+
Comment on attachment 8365879 [details] [diff] [review]
dont-recompact

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

Great! I'd been holding off on doing this because I couldn't think of a clean way to signal usage -- using the size is a nice solution. r=me
Attachment #8365879 - Flags: review?(terrence) → review+
https://hg.mozilla.org/mozilla-central/rev/3fd32a07dcca
https://hg.mozilla.org/mozilla-central/rev/34ac931fc286
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla29
Blocks: 1507445
You need to log in before you can comment on or make changes to this bug.