Consider nursery-allocating some proxies/wrappers

NEW
Unassigned

Status

()

Core
JavaScript Engine
2 years ago
a year ago

People

(Reporter: jandem, Unassigned)

Tracking

(Blocks: 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

2 years ago
The CCW call benchmark in bug 1211795 creates a ton of wrappers. A profile shows a few % under ProxyObject::New malloc'ing the ProxyValueArray. If we could nursery allocate the proxy, we could allocate this array in the nursery as well. Allocating nursery objects can also avoid the much slower full GCs.

This is complicated because proxy_finalize also calls the handler's finalize() so we'd have to make sure this is a nop. We'd probably also have to add barriers to the wrapper map etc.
Most simply, could we just fast-path transparent CCW proxies, assuming they have a trivial finalize?
You need to log in before you can comment on or make changes to this bug.