Free JIT LIFO data off thread
Categories
(Core :: JavaScript: GC, enhancement, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox66 | --- | fixed |
People
(Reporter: jonco, Assigned: jonco)
Details
Attachments
(4 files)
|
11.68 KB,
patch
|
sfink
:
review+
|
Details | Diff | Splinter Review |
|
10.56 KB,
patch
|
sfink
:
review+
|
Details | Diff | Splinter Review |
|
18.83 KB,
patch
|
sfink
:
review+
|
Details | Diff | Splinter Review |
|
18.13 KB,
patch
|
sfink
:
review+
|
Details | Diff | Splinter Review |
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Comment 1•6 years ago
|
||
Refactor GCParallelTask to move a couple of methods from BackgroundSweepTask here, so that can be used by other parallel tasks. This is in preparation for adding a similar background free task.
This removes BackgroundSweepTask::done and instead adds an extra optional Finishing state to GCParallelTask.
| Assignee | ||
Comment 2•6 years ago
|
||
Patch to add BackgroundFreeTask and move freeing of LIFO data there. I also renamed a few things and did some minor refactoring.
| Assignee | ||
Comment 3•6 years ago
|
||
Patch to merege blocks to be freed after minor GC into the main LIFO blocks to free structure after minor GC.
Removed references to 'afterSweeping' for the other LIFO blocks because there's no requirement to free them after sweeping and they are all unused at the point they are queued.
Also kicked off a free task after discarding JIT code at the start of GC since this will queue data to be freed. We are also 'after minor GC' at this point because we always do one at the start of GC.
I moved setting the sweepOnBackgroundThread into the initial GC state because I think it makes more sense there, although it didn't turn out to be relevant for this patch.
| Assignee | ||
Comment 4•6 years ago
|
||
We can also use this mechanism to free nursery buffers so that we don't kick off two parallel tasks that will both content on the jemalloc lock after every minor GC.
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Comment 5•6 years ago
|
||
Comment 7•6 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/86f8236cd20f
https://hg.mozilla.org/mozilla-central/rev/1bdbec17ea7c
https://hg.mozilla.org/mozilla-central/rev/7d9e12dcfe7f
https://hg.mozilla.org/mozilla-central/rev/d2a84a3dcae0
Description
•