Last Comment Bug 736229 - Stop storing expando objects in the wrapper cache
: Stop storing expando objects in the wrapper cache
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: DOM (show other bugs)
: Trunk
: All All
: -- normal (vote)
: mozilla14
Assigned To: Peter Van der Beken [:peterv]
:
Mentors:
Depends on: 756073
Blocks:
  Show dependency treegraph
 
Reported: 2012-03-15 12:59 PDT by Peter Van der Beken [:peterv]
Modified: 2012-05-17 06:24 PDT (History)
2 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
v1 (19.70 KB, patch)
2012-03-15 13:22 PDT, Peter Van der Beken [:peterv]
jst: review+
Details | Diff | Review

Description Peter Van der Beken [:peterv] 2012-03-15 12:59:33 PDT
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.
Comment 1 Peter Van der Beken [:peterv] 2012-03-15 13:22:27 PDT
Created attachment 606337 [details] [diff] [review]
v1
Comment 2 Johnny Stenback (:jst, jst@mozilla.com) 2012-03-15 14:57:19 PDT
Comment on attachment 606337 [details] [diff] [review]
v1

Looks good!
Comment 3 Peter Van der Beken [:peterv] 2012-03-16 08:20:42 PDT
https://hg.mozilla.org/integration/mozilla-inbound/rev/4bedee8913bf
Comment 4 Kyle Huey [:khuey] (khuey@mozilla.com) 2012-03-17 17:05:01 PDT
https://hg.mozilla.org/mozilla-central/rev/4bedee8913bf

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