Closed Bug 736229 Opened 9 years ago Closed 9 years ago

Stop storing expando objects in the wrapper cache

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla14

People

(Reporter: peterv, Assigned: peterv)

References

Details

Attachments

(1 file)

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.
Attached patch v1Splinter Review
Attachment #606337 - Flags: review?(jst)
Comment on attachment 606337 [details] [diff] [review]
v1

Looks good!
Attachment #606337 - Flags: review?(jst) → review+
https://hg.mozilla.org/mozilla-central/rev/4bedee8913bf
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla14
Depends on: 756073
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.