XPCOMGC: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (+link for MMgc) |
||
Line 1: | Line 1: | ||
XPCOMGC is the [[Mozilla 2]] project to convert the XPCOM object model from reference counting to use MMgc garbage collection. | XPCOMGC is the [[Mozilla 2]] project to convert the XPCOM object model from reference counting to use [[mdc:MMgc|MMgc]] garbage collection. | ||
== General Info == | == General Info == |
Revision as of 14:38, 14 September 2007
XPCOMGC is the Mozilla 2 project to convert the XPCOM object model from reference counting to use MMgc garbage collection.
General Info
TODO: collect/format information from the newsgroup discussion.
Tasks
- Add the request model threadsafety to MMgc
- Give MMgc the ability to recognize "inner" pointers to objects as typically used by C++ multiple inheritance bug 388070
- Make the world depend on a common MMgc
- Rewrite XPCOM addref/release handling
- Remove the cycle collector
- Use textual search/replace to remove most calls to NS_ADDREF/NS_RELEASE
- Use automatic finding to identify remaining references for manual cleanup
- Make all COM objects inherit from GCObject
- Rewrite nsCOMPtr+friends to be a lightweight wrapper for GC writebarriers.
- Make stack pointers raw pointers
- Fix some COM-holding utility classes:
- nsCOMArray
- hashtables: nsInterfaceHashtable and nsInterfaceHashKey
- Rewrite XPCOM weakrefs to be GCWeakRefs
- And remove those that can be regular GC references
- Identify and deal with multi-threading, especially
- Initialize and suspend requests around blocking activity
- Analyze code for deadlock possibilities.