Note: There are a few cases of duplicates in user autocompletion which are being worked on.

Stop storing expando objects in the wrapper cache

RESOLVED FIXED in mozilla14

Status

()

Core
DOM
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: peterv, Assigned: peterv)

Tracking

Trunk
mozilla14
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

5 years ago
For the new proxy DOM list bindings we store expandos on a separate object. The proxy holds the expando object, and the wrapper cache holds the proxy. When the proxy gets collected we make the wrapper cache store the expando object. If a new proxy is created it is stored in the cache again and holds the expando object. Since the proxy stores no state it can be collected and recreated without losing expandos. This does complicate the wrapper cache quite a bit, and makes it hard to store the new (Paris) DOM bindings in the wrapper cache. So I'd like to make the wrapper cache always hold the proxy when it has expandos. This means that we have to make the hashtable that stores the expando objects (so XPConnect can mark them) store the proxy instead.
(Assignee)

Comment 1

5 years ago
Created attachment 606337 [details] [diff] [review]
v1
Attachment #606337 - Flags: review?(jst)
Comment on attachment 606337 [details] [diff] [review]
v1

Looks good!
Attachment #606337 - Flags: review?(jst) → review+
(Assignee)

Comment 3

5 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/4bedee8913bf
https://hg.mozilla.org/mozilla-central/rev/4bedee8913bf
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla14

Updated

5 years ago
Depends on: 756073
You need to log in before you can comment on or make changes to this bug.