Fold some stuff together in preparation for merging the "real" actionmonkey!
authorBenjamin Smedberg <benjamin@smedbergs.us>
Tue, 10 Jun 2008 15:10:30 -0400
changeset 126 e40ba022b1fa24d2b032c85f3c64ea5a1c23bdd5
parent 125 ed7d306bd129b107164a8121618c28e7a64d68d0
child 127 9198aa54906777d1a77e806921e89bd9464ac88e
push id12
push userbsmedberg@mozilla.com
push dateTue, 10 Jun 2008 19:10:56 +0000
Fold some stuff together in preparation for merging the "real" actionmonkey!
remove-cycle
remove-cyclec.patch
remove-cyclec2
root-atoms
root-atoms2
series
rename from remove-cyclec.patch
rename to remove-cycle
--- a/remove-cyclec.patch
+++ b/remove-cycle
@@ -1,9 +1,10 @@
 Get rid of the cycle collector.
+* * *
 
 diff --git a/content/base/public/nsContentUtils.h b/content/base/public/nsContentUtils.h
 --- a/content/base/public/nsContentUtils.h
 +++ b/content/base/public/nsContentUtils.h
 @@ -858,20 +858,6 @@ public:
    static PRUint32 GetEventId(nsIAtom* aName);
  
    /**
@@ -767,17 +768,17 @@ diff --git a/content/events/src/nsDOMDat
 -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(nsDOMDataContainerEvent,
 -                                                  nsDOMEvent)
 -  tmp->mData.EnumerateRead(TraverseEntry, &cb);
 -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
 -
  NS_IMPL_ADDREF_INHERITED(nsDOMDataContainerEvent, nsDOMEvent)
  NS_IMPL_RELEASE_INHERITED(nsDOMDataContainerEvent, nsDOMEvent)
  
-@@ -104,15 +93,3 @@ NS_NewDOMDataContainerEvent(nsIDOMEvent*
+@@ -102,15 +91,3 @@ NS_NewDOMDataContainerEvent(nsIDOMEvent*
    return CallQueryInterface(it, aInstancePtrResult);
  }
  
 -PLDHashOperator
 -nsDOMDataContainerEvent::TraverseEntry(const nsAString& aKey,
 -                                       nsIVariant *aDataItem,
 -                                       void* aUserArg)
 -{
@@ -1690,58 +1691,58 @@ diff --git a/content/xslt/src/xslt/txMoz
 -    }
 -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
  
  NS_IMPL_CYCLE_COLLECTING_ADDREF(txMozillaXSLTProcessor)
  NS_IMPL_CYCLE_COLLECTING_RELEASE(txMozillaXSLTProcessor)
 diff --git a/content/xul/content/src/nsXULElement.cpp b/content/xul/content/src/nsXULElement.cpp
 --- a/content/xul/content/src/nsXULElement.cpp
 +++ b/content/xul/content/src/nsXULElement.cpp
-@@ -387,11 +387,6 @@ nsXULElement::QueryInterface(REFNSIID aI
+@@ -389,11 +389,6 @@ nsXULElement::QueryInterface(REFNSIID aI
  {
      NS_PRECONDITION(aInstancePtr, "null out param");
  
 -    if (aIID.Equals(NS_GET_IID(nsXPCOMCycleCollectionParticipant))) {
 -      *aInstancePtr = &NS_CYCLE_COLLECTION_NAME(nsXULElement);
 -      return NS_OK;
 -    }
 -
      nsresult rv = nsGenericElement::QueryInterface(aIID, aInstancePtr);
      if (NS_SUCCEEDED(rv))
          return rv;
-@@ -712,12 +707,6 @@ nsXULElement::PerformAccesskey(PRBool aK
+@@ -714,12 +709,6 @@ nsXULElement::PerformAccesskey(PRBool aK
  // nsIScriptEventHandlerOwner interface
  
  NS_IMPL_CYCLE_COLLECTION_CLASS(nsScriptEventHandlerOwnerTearoff)
 -NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(nsScriptEventHandlerOwnerTearoff)
 -  tmp->mElement = nsnull;
 -NS_IMPL_CYCLE_COLLECTION_UNLINK_END
 -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsScriptEventHandlerOwnerTearoff)
 -  cb.NoteXPCOMChild(static_cast<nsIContent*>(tmp->mElement));
 -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
  
  NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsScriptEventHandlerOwnerTearoff)
    NS_INTERFACE_MAP_ENTRY(nsIScriptEventHandlerOwner)
-@@ -819,15 +808,6 @@ nsScriptEventHandlerOwnerTearoff::Compil
+@@ -821,15 +810,6 @@ nsScriptEventHandlerOwnerTearoff::Compil
          // take a copy of the event handler, and tell the language about it.
          if (aHandler) {
              NS_ASSERTION(!attr->mEventHandler, "Leaking handler.");
 -
 -            rv = nsContentUtils::HoldScriptObject(aContext->GetScriptTypeID(),
 -                                                  elem,
 -                                                  &NS_CYCLE_COLLECTION_NAME(nsXULPrototypeNode),
 -                                                  aHandler,
 -                                                  elem->mHoldsScriptObject);
 -            if (NS_FAILED(rv)) return rv;
 -
 -            elem->mHoldsScriptObject = PR_TRUE;
          }
          attr->mEventHandler = (void *)aHandler;
      }
-@@ -2544,62 +2524,6 @@ nsXULElement::RecompileScriptEventListen
+@@ -2562,62 +2542,6 @@ nsXULElement::RecompileScriptEventListen
      }
  }
  
 -NS_IMPL_CYCLE_COLLECTION_CLASS(nsXULPrototypeNode)
 -NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_NATIVE(nsXULPrototypeNode)
 -    if (tmp->mType == nsXULPrototypeNode::eType_Element) {
 -        static_cast<nsXULPrototypeElement*>(tmp)->Unlink();
 -    }
@@ -1794,17 +1795,17 @@ diff --git a/content/xul/content/src/nsX
 -    }
 -NS_IMPL_CYCLE_COLLECTION_ROOT_END
 -//NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(nsXULPrototypeNode, AddRef)
 -NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(nsXULPrototypeNode, Release)
 -
  //----------------------------------------------------------------------
  //
  // nsXULPrototypeAttribute
-@@ -2894,24 +2818,6 @@ nsXULPrototypeElement::SetAttrAt(PRUint3
+@@ -2912,24 +2836,6 @@ nsXULPrototypeElement::SetAttrAt(PRUint3
      return NS_OK;
  }
  
 -void
 -nsXULPrototypeElement::UnlinkJSObjects()
 -{
 -    if (mHoldsScriptObject) {
 -        nsContentUtils::DropScriptObjects(mScriptTypeID, this,
@@ -1819,17 +1820,17 @@ diff --git a/content/xul/content/src/nsX
 -    mNumAttributes = 0;
 -    delete[] mAttributes;
 -    mAttributes = nsnull;
 -}
 -
  //----------------------------------------------------------------------
  //
  // nsXULPrototypeScript
-@@ -2934,7 +2840,6 @@ nsXULPrototypeScript::nsXULPrototypeScri
+@@ -2952,7 +2858,6 @@ nsXULPrototypeScript::nsXULPrototypeScri
  
  nsXULPrototypeScript::~nsXULPrototypeScript()
  {
 -    UnlinkJSObjects();
  }
  
  nsresult
 diff --git a/content/xul/content/src/nsXULElement.h b/content/xul/content/src/nsXULElement.h
@@ -2447,17 +2448,17 @@ diff --git a/dom/src/base/nsGlobalWindow
      }
 -#ifdef DEBUG
 -    nsCycleCollector_DEBUG_shouldBeFreed(mContext);
 -    nsCycleCollector_DEBUG_shouldBeFreed(static_cast<nsIScriptGlobalObject*>(this));
 -#endif
      mContext = nsnull; // we nuked it above also
    }
  
-@@ -5861,26 +5706,6 @@ nsGlobalWindow::CacheXBLPrototypeHandler
+@@ -5864,26 +5709,6 @@ nsGlobalWindow::CacheXBLPrototypeHandler
      return;
    }
  
 -  if (!mCachedXBLPrototypeHandlers.Count()) {
 -    // Can't use macros to get the participant because nsGlobalChromeWindow also
 -    // runs through this code. Use QueryInterface to get the correct objects.
 -    nsXPCOMCycleCollectionParticipant* participant;
 -    CallQueryInterface(this, &participant);
@@ -4096,17 +4097,17 @@ diff --git a/js/src/xpconnect/src/xpcpri
      TraceJS(JSTracer* trc, XPCJSRuntime* rt);
 -
 -    static void
 -    SuspectAllWrappers(XPCJSRuntime* rt, JSContext* cx,
 -                       nsCycleCollectionTraversalCallback &cb);
  
      static void
      FinishedMarkPhaseOfGC(JSContext* cx, XPCJSRuntime* rt);
-@@ -2076,25 +2017,6 @@ public:
+@@ -2069,25 +2010,6 @@ public:
      NS_DECL_ISUPPORTS
      NS_DECL_NSIXPCONNECTJSOBJECTHOLDER
      NS_DECL_NSIXPCONNECTWRAPPEDNATIVE
 -    // No need to unlink the JS objects, if the XPCWrappedNative will be cycle
 -    // collected then its mFlatJSObject will be cycle collected too and
 -    // finalization of the mFlatJSObject will unlink the js objects (see
 -    // XPC_WN_NoHelper_Finalize and FlatJSObjectFinalized).
 -    // We also rely on NS_DECL_CYCLE_COLLECTION_CLASS_NO_UNLINK having empty
@@ -4122,26 +4123,26 @@ diff --git a/js/src/xpconnect/src/xpcpri
 -      NS_IMETHOD Unlink(void *p) { return NS_OK; }
 -      NS_IMETHOD Unroot(void *p) { return NS_OK; }
 -    };
 -    NS_CYCLE_COLLECTION_PARTICIPANT_INSTANCE
 -    NS_DECL_CYCLE_COLLECTION_UNMARK_PURPLE_STUB(XPCWrappedNative)
  
  #ifndef XPCONNECT_STANDALONE
      virtual nsIPrincipal* GetObjectPrincipal() const;
-@@ -2329,8 +2251,6 @@ public:
+@@ -2322,8 +2244,6 @@ public:
      JSObject* GetWrapper()              { return mWrapper; }
      void      SetWrapper(JSObject *obj) { mWrapper = obj; }
  
 -    void NoteTearoffs(nsCycleCollectionTraversalCallback& cb);
 -
      // Make ctor and dtor protected (rather than private) to placate nsCOMPtr.
  protected:
      XPCWrappedNative(); // not implemented
-@@ -2525,13 +2445,6 @@ public:
+@@ -2518,13 +2438,6 @@ public:
      NS_DECL_NSISUPPORTSWEAKREFERENCE
      NS_DECL_NSIPROPERTYBAG
  
 -    class NS_CYCLE_COLLECTION_INNERCLASS
 -     : public nsXPCOMCycleCollectionParticipant
 -    {
 -      NS_IMETHOD RootAndUnlinkJSObjects(void *p);
 -      NS_DECL_CYCLE_COLLECTION_CLASS_BODY(nsXPCWrappedJS, nsIXPConnectWrappedJS)
@@ -4590,16 +4591,72 @@ diff --git a/rdf/base/src/nsCompositeDat
 -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(CompositeDataSourceImpl)
 -    NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMARRAY(mObservers)
 -    NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMARRAY(mDataSources)
 -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
 -
  
  NS_IMPL_CYCLE_COLLECTING_ADDREF_AMBIGUOUS(CompositeDataSourceImpl,
                                            nsIRDFCompositeDataSource)
+diff --git a/toolkit/components/places/src/nsNavHistoryResult.cpp b/toolkit/components/places/src/nsNavHistoryResult.cpp
+--- a/toolkit/components/places/src/nsNavHistoryResult.cpp
++++ b/toolkit/components/places/src/nsNavHistoryResult.cpp
+@@ -104,16 +104,6 @@ inline PRInt32 CompareIntegers(PRUint32 
+ 
+ // nsNavHistoryResultNode ******************************************************
+ 
+-
+-NS_IMPL_CYCLE_COLLECTION_CLASS(nsNavHistoryResultNode)
+-
+-NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(nsNavHistoryResultNode)
+-  NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mParent)
+-NS_IMPL_CYCLE_COLLECTION_UNLINK_END 
+-
+-NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsNavHistoryResultNode)
+-  NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR_AMBIGUOUS(mParent, nsINavHistoryContainerResultNode);
+-NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
+ 
+ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsNavHistoryResultNode)
+   NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsINavHistoryResultNode)
+@@ -3696,35 +3686,6 @@ RemoveBookmarkFolderObserversCallback(ns
+   return PL_DHASH_REMOVE;
+ }
+ 
+-NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(nsNavHistoryResult)
+-  NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mRootNode)
+-  NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mView)
+-  tmp->mBookmarkFolderObservers.Enumerate(&RemoveBookmarkFolderObserversCallback, nsnull);
+-NS_IMPL_CYCLE_COLLECTION_UNLINK_END 
+-
+-PR_STATIC_CALLBACK(PLDHashOperator)
+-TraverseBookmarkFolderObservers(nsTrimInt64HashKey::KeyType aKey,
+-                                nsNavHistoryResult::FolderObserverList*& aData,
+-                                void* aUserArg)
+-{
+-  nsCycleCollectionTraversalCallback* cb =
+-    static_cast<nsCycleCollectionTraversalCallback*>(aUserArg);
+-  PRUint32 i, count = aData->Length();
+-  for (i = 0; i < count; ++i) {
+-    NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(*cb,
+-                                       "mBookmarkFolderObservers value[i]");
+-    nsNavHistoryResultNode* node = aData->ElementAt(i);
+-    cb->NoteXPCOMChild(node);
+-  }
+-  return PL_DHASH_NEXT;
+-}
+-
+-NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsNavHistoryResult)
+-  NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR_AMBIGUOUS(mRootNode, nsINavHistoryContainerResultNode)
+-  NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mView)
+-  tmp->mBookmarkFolderObservers.Enumerate(&TraverseBookmarkFolderObservers, &cb);
+-NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
+-
+ NS_IMPL_CYCLE_COLLECTING_ADDREF(nsNavHistoryResult)
+ NS_IMPL_CYCLE_COLLECTING_RELEASE(nsNavHistoryResult)
+ 
 diff --git a/xpcom/base/Makefile.in b/xpcom/base/Makefile.in
 --- a/xpcom/base/Makefile.in
 +++ b/xpcom/base/Makefile.in
 @@ -108,14 +108,15 @@ SDK_XPIDLSRCS   = \
  		nsISupports.idl		   \
  		nsITraceRefcnt.idl         \
  		nsIWeakReference.idl	   \
 -		nsrootidl.idl
deleted file mode 100644
--- a/remove-cyclec2
+++ /dev/null
@@ -1,56 +0,0 @@
-diff --git a/toolkit/components/places/src/nsNavHistoryResult.cpp b/toolkit/components/places/src/nsNavHistoryResult.cpp
---- a/toolkit/components/places/src/nsNavHistoryResult.cpp
-+++ b/toolkit/components/places/src/nsNavHistoryResult.cpp
-@@ -104,16 +104,6 @@ inline PRInt32 CompareIntegers(PRUint32 
- 
- // nsNavHistoryResultNode ******************************************************
- 
--
--NS_IMPL_CYCLE_COLLECTION_CLASS(nsNavHistoryResultNode)
--
--NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(nsNavHistoryResultNode)
--  NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mParent)
--NS_IMPL_CYCLE_COLLECTION_UNLINK_END 
--
--NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsNavHistoryResultNode)
--  NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR_AMBIGUOUS(mParent, nsINavHistoryContainerResultNode);
--NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
- 
- NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsNavHistoryResultNode)
-   NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsINavHistoryResultNode)
-@@ -3696,35 +3686,6 @@ RemoveBookmarkFolderObserversCallback(ns
-   return PL_DHASH_REMOVE;
- }
- 
--NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(nsNavHistoryResult)
--  NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mRootNode)
--  NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mView)
--  tmp->mBookmarkFolderObservers.Enumerate(&RemoveBookmarkFolderObserversCallback, nsnull);
--NS_IMPL_CYCLE_COLLECTION_UNLINK_END 
--
--PR_STATIC_CALLBACK(PLDHashOperator)
--TraverseBookmarkFolderObservers(nsTrimInt64HashKey::KeyType aKey,
--                                nsNavHistoryResult::FolderObserverList*& aData,
--                                void* aUserArg)
--{
--  nsCycleCollectionTraversalCallback* cb =
--    static_cast<nsCycleCollectionTraversalCallback*>(aUserArg);
--  PRUint32 i, count = aData->Length();
--  for (i = 0; i < count; ++i) {
--    NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(*cb,
--                                       "mBookmarkFolderObservers value[i]");
--    nsNavHistoryResultNode* node = aData->ElementAt(i);
--    cb->NoteXPCOMChild(node);
--  }
--  return PL_DHASH_NEXT;
--}
--
--NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsNavHistoryResult)
--  NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR_AMBIGUOUS(mRootNode, nsINavHistoryContainerResultNode)
--  NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mView)
--  tmp->mBookmarkFolderObservers.Enumerate(&TraverseBookmarkFolderObservers, &cb);
--NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
--
- NS_IMPL_CYCLE_COLLECTING_ADDREF(nsNavHistoryResult)
- NS_IMPL_CYCLE_COLLECTING_RELEASE(nsNavHistoryResult)
- 
--- a/root-atoms
+++ b/root-atoms
@@ -1,8 +1,9 @@
+* * *
 * * *
 * * *
 
 diff --git a/xpcom/build/nsXPComInit.cpp b/xpcom/build/nsXPComInit.cpp
 --- a/xpcom/build/nsXPComInit.cpp
 +++ b/xpcom/build/nsXPComInit.cpp
 @@ -373,7 +373,7 @@ static const nsModuleComponentInfo compo
                         nsConsoleService,
@@ -509,17 +510,17 @@ diff --git a/xpcom/ds/nsAtomTable.cpp b/
 -               "converting atom that's already permanent");
 -
 -  // Just let the constructor overwrite the vtable pointer.
 -  return aAtom;
 +  return MMgc::GCFinalizedObject::operator new(size, NS_GetGC(), extra);
  }
  
  NS_IMETHODIMP 
-@@ -549,88 +331,6 @@ AtomImpl::Equals(const nsAString& aStrin
+@@ -549,86 +331,6 @@ AtomImpl::Equals(const nsAString& aStrin
  
  //----------------------------------------------------------------------
  
 -// wrapper class for the nsStaticAtom struct
 -
 -NS_IMETHODIMP_(nsrefcnt)
 -nsStaticAtomWrapper::AddRef()
 -{
@@ -593,22 +594,20 @@ diff --git a/xpcom/ds/nsAtomTable.cpp b/
 -  PL_ARENA_ALLOCATE(mem, gStaticAtomArena, sizeof(nsStaticAtomWrapper));
 -
 -  nsStaticAtomWrapper* wrapper =
 -    new (mem) nsStaticAtomWrapper(aAtom, aLength);
 -
 -  return wrapper;
 -}
 -
--#define ATOM_HASHTABLE_INITIAL_SIZE  4096
--
+ #define ATOM_HASHTABLE_INITIAL_SIZE  4096
+ 
  static inline AtomTableEntry*
- GetAtomHashEntry(const char* aString, PRUint32 aLength)
- {
-@@ -663,58 +363,67 @@ GetAtomHashEntry(const PRUnichar* aStrin
+@@ -663,58 +365,67 @@ GetAtomHashEntry(const PRUnichar* aStrin
                      (PL_DHashTableOperate(&gAtomTable, &key, PL_DHASH_ADD));
  }
  
 +static PLDHashOperator
 +MarkPermanentAtoms(PLDHashTable *table, PLDHashEntryHdr *hdr,
 +                   PRUint32 number, void *arg)
 +{
 +  AtomTableEntry *entry = static_cast<AtomTableEntry*>(hdr);
@@ -708,17 +707,17 @@ diff --git a/xpcom/ds/nsAtomTable.cpp b/
 -}
 -
 -NS_COM nsIAtom*
 -NS_NewAtom(const nsACString& aUTF8String)
 +NS_NewAtom(const nsACString& aUTF8String, PRBool aPermanent)
  {
    AtomTableEntry *he = GetAtomHashEntry(aUTF8String.Data(),
                                          aUTF8String.Length());
-@@ -726,17 +435,16 @@ NS_NewAtom(const nsACString& aUTF8String
+@@ -726,17 +437,16 @@ NS_NewAtom(const nsACString& aUTF8String
    NS_ASSERTION(!he->IsUTF8String() && !he->IsUTF16String(),
                 "Atom hash entry is string?  Should be atom!");
  
 -  if (he->HasValue())
 -    return he->GetAtom();
 +  if (he->HasValue()) {
 +    AtomImpl *impl = he->GetAtomImpl();
 +    if (aPermanent)
@@ -733,17 +732,17 @@ diff --git a/xpcom/ds/nsAtomTable.cpp b/
    }
  
 -  NS_ADDREF(atom);
 +  AtomImpl* atom = new (aUTF8String.Length()) AtomImpl(aUTF8String, aPermanent);
 +  he->SetAtomImpl(atom);
    return atom;
  }
  
-@@ -747,76 +455,27 @@ NS_NewAtom(const PRUnichar* aUTF16String
+@@ -747,76 +457,27 @@ NS_NewAtom(const PRUnichar* aUTF16String
  }
  
  NS_COM nsIAtom*
 -NS_NewAtom(const nsAString& aUTF16String)
 +NS_NewAtom(const nsAString& aUTF16String, PRBool aPermanent)
  {
    AtomTableEntry *he = GetAtomHashEntry(aUTF16String.Data(),
                                          aUTF16String.Length());
deleted file mode 100644
--- a/root-atoms2
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/xpcom/ds/nsAtomTable.cpp b/xpcom/ds/nsAtomTable.cpp
---- a/xpcom/ds/nsAtomTable.cpp
-+++ b/xpcom/ds/nsAtomTable.cpp
-@@ -331,6 +331,8 @@ AtomImpl::Equals(const nsAString& aStrin
- 
- //----------------------------------------------------------------------
- 
-+#define ATOM_HASHTABLE_INITIAL_SIZE  4096
-+
- static inline AtomTableEntry*
- GetAtomHashEntry(const char* aString, PRUint32 aLength)
- {
--- a/series
+++ b/series
@@ -6,17 +6,17 @@ template-hashtable-getters
 gfx-refcounting
 64bit
 nscore-class-annotation-types
 psm-remove-init-isupports
 success-macros.patch
 no-standaloneglue.patch
 prerewrite_fixes.patch
 maybeweak-crap.patch
-remove-cyclec.patch
+remove-cycle
 comptr-rewrite.patch
 proxy-fixup.patch
 comarray.patch
 gc-hashtables.patch
 xpti-workingset.patch
 unbraced-if-fixes.patch
 more-gcobjects.patch
 fix-garburator.patch
@@ -39,22 +39,20 @@ compmgr-more
 content-hashtables
 xslt-gc
 chromereg-gc
 gcobject-nodelete.patch
 root-compmgr
 NS_RootUntilShutdown
 root-atoms
 mark-jsprivate
-root-atoms2
 root-threads
 more-template-typedefs
 revert-xpcomgc-cookie-madness
 system-metrics-comarray
-remove-cyclec2
 revert-xpccallcontext
 xpcom-request-contexts
 set-default-jscontext
 no-socketts-deadlock
 root-jscomponentloader-script
 nativescriptableshared-gcobject
 root-contentutils
 mark-observerservice