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?
Nursery allocation of proxies is supported since bug 1237058 landed.
Status: NEW → RESOLVED
Last Resolved: 3 months ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1237058
You need to log in before you can comment on or make changes to this bug.