Closed Bug 1829896 Opened 2 years ago Closed 2 years ago

Simplify nursery allocation a little more in preparation for adding an interpreter fast path

Categories

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

task

Tracking

()

RESOLVED FIXED
114 Branch
Tracking Status
firefox114 --- fixed

People

(Reporter: jonco, Assigned: jonco)

References

Details

(Whiteboard: [sp3])

Attachments

(6 files)

This bug is for a set of tidyups and minor performance improvements.

This is a very minor optimisation so that we only read from a single location
when upating an allocaiton site rather than two. The allocation count being
zero implies that the site is not already on the list of active sites.

This adds flags to the zone for whether individual GC thing kinds can be
allocated in the nursery for that zone, which are used to replace more complex
checks that happened on allocation.

Depends on D176437

I'm not sure how much difference this makes but it seems sensible to keep
everything in the same cache line where possible.

Depends on D176438

We currently have two probes for object allocation because there's another one
in allocateCell(). This one is unnecessary.

Depends on D176439

The intent here was to count nursery cell allocations since it's sent to the
profiler for comparison with tenured cell allocations. However it currently
counts slots and element allocations in the nursery too.

Depends on D176440

Pushed by jcoppeard@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2c29263b7c19 Part 1: Minor optimisation to allocation site updates r=jandem https://hg.mozilla.org/integration/autoland/rev/170f20f793f0 Part 2: Remove references to AutoSuppressNurseryCellAlloc which is no longer present r=sfink https://hg.mozilla.org/integration/autoland/rev/3d30e9fc410e Part 3: Simplify nursery allocation conditions by using a single flag for each thing kind r=sfink https://hg.mozilla.org/integration/autoland/rev/0a66d475e281 Part 4: Layout data used by nursery allocation to be contiguous in memory r=sfink https://hg.mozilla.org/integration/autoland/rev/b67f3fa6d38b Part 5: Remove duplicate GC probe on nursery object allocation r=sfink https://hg.mozilla.org/integration/autoland/rev/3bbc0a622f41 Part 6: Don't count all nursery allocations as cell allocations r=sfink
Whiteboard: [sp3]
Summary: Simply nursery allocation a little more in preparation for adding an interpreter fast path → Simplify nursery allocation a little more in preparation for adding an interpreter fast path
Depends on: 1831072
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: