Open Bug 2003769 Opened 1 day ago Updated 12 hours ago

Investigate providing barriered containers for GC things

Categories

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

task

Tracking

()

People

(Reporter: jonco, Unassigned)

Details

Current barrier support is done by wrapping individual GC things, e.g. by using something like HeapPtr<Value>. This is very general but can lead to sub-optimal performance when these are used in containers. As a results we've added a bunch of optimizations to specific containers (e.g. JS Map object, WeakMap, etc.) to improve barrier performance or skip unnecessary barriers.

Perhaps it's time to consolidate these optimisations and providing containers which implement the barriers themselves. These would probably need to be separate classes as their APIs may require additional GC related context to be provided, or restrict mutation via returned references.

You need to log in before you can comment on or make changes to this bug.