Open Bug 1917031 Opened 1 year ago Updated 1 year ago

Reconsider ProbablyShortLivingWrapper annotation

Categories

(Core :: DOM: Bindings (WebIDL), task)

task

Tracking

()

People

(Reporter: mgaudet, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [sp3])

Over here I experimented with making all wrappers "ProbablyShortLivingWrapper" on top of the DOM Allocation Site patch.

This showed some nice improvements (up to 10% on the ReactSVG subtest). Which makes me think maybe once we have the DOM allocationSites we can consider removing this annotation and marking everything as nursery allocatable, relying on the allocSite to pre-tenure where possible.

Now, there are some regressions too that probably need to be considered more deeply. It may be that we actually need to flip the sense of the annotation from "ProbablyShortLivingWrapper" to "ProbablyLongLivingWrapper"

This could be very effective in sp3, I think, iff we can store the information about allocation sites across page loads. We usually manage to avoid minorGCs during subtest runs, so without knowledge about previous runs this might not help too much - or this would mean basically just allocating always from nursery.

Opened Bug 1917338 about saving AllocSite data

Whiteboard: [sp3]

Eyeballing this code, it seems as if all binding generated finalizers are generated here. Some notes:

A more recent try push here

  • Wins on TodoMVC and ChartObservable, but it's a regression overall.

I'll put this on pause for now pending Bug 1917338 though I think there is a space here for using ProbablyShortLivingWrapper more.

Summary: Reconsider ProbablyShortLived annotation → Reconsider ProbablyShortLivingWrapper annotation
See Also: → 1844878
You need to log in before you can comment on or make changes to this bug.