Closed Bug 1611437 Opened 4 years ago Closed 2 years ago

[meta] Simplify the GC after stencil lands

Categories

(Core :: JavaScript: GC, task, P3)

task

Tracking

()

RESOLVED FIXED
96 Branch
Tracking Status
firefox96 --- fixed

People

(Reporter: jonco, Assigned: jonco)

References

(Blocks 1 open bug)

Details

(Keywords: meta)

Attachments

(6 files)

The stencil project (bug 1544117) will let us parse JS without allocating GC things. This will allow us to make a number of simplifications to the GC.

Off the top of my head, we can do the following:

  • use a single atoms table and remove the partitioning
  • remove merging of realms/zones used by off-thread parsing
  • remove suppression of atoms GC while off-thread parsing
  • remove blocking off-thread parsing while atoms GC is active
  • make HeapThreshold::bytes_ MainThreadData<>
  • remove anywhere we wait for parse tasks to finish to avoid them creating GC things (e.g. runtime stats collection)
Priority: -- → P3

Bug 1662102 will add a pref to change the runtime behaviour. Once we are happy with that we can strip out all the machinery.

Depends on: stencil-mvp
No longer depends on: 1544117
Depends on: 1205132
Depends on: 1672268
Depends on: 1655768, 538450
Assignee: nobody → jcoppeard

This removes allocation paths that are no longer used.

This was added to improve performance when helper threads could alloate atoms
concurrently with the main thread.

Depends on D131779

This was used to allow concurrent allocation of atoms from more than one
thread.

Depends on D131780

Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/3c8c8b37b18d
Part 1: Remove support for allocating GC things from helper threads r=arai
https://hg.mozilla.org/integration/autoland/rev/62fbe8c0f683
Part 2: Remove partitioning of the atoms table now this is no longer needed r=arai
https://hg.mozilla.org/integration/autoland/rev/e7b0599c0b81
Part 3: Remove atom zone free lists from the context r=arai
https://hg.mozilla.org/integration/autoland/rev/c0f1f59e9690
Part 4: Ensure various heap threshold data is only accessed from the main thread r=arai
https://hg.mozilla.org/integration/autoland/rev/0c714249d686
Part 5: Stop waiting for off-thread parsing when collecting memory information r=arai
https://hg.mozilla.org/integration/autoland/rev/6a70ca3a2229
Part 6: Remove stale comment about off-thread parsing r=arai
Regressions: 1742817
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: