author | Andrew McCreight <amccreight@mozilla.com> |
Fri, 24 Aug 2012 09:50:06 -0700 | |
changeset 103306 | 3f9d182bab1d254ed153205d4acdaf28998d602a |
parent 103305 | c144761a799fdac1a08a4b32433f4fa3dd1619d4 |
child 103307 | e5259919146b1cc402ad9f4b20217d612af91037 |
push id | 13928 |
push user | amccreight@mozilla.com |
push date | Fri, 24 Aug 2012 16:50:32 +0000 |
treeherder | mozilla-inbound@3f9d182bab1d [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | smaug |
bugs | 782735 |
milestone | 17.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/content/base/src/nsContentSink.cpp +++ b/content/base/src/nsContentSink.cpp @@ -75,17 +75,18 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(ns NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mDocument) NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mParser) NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mNodeInfoManager) NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mScriptLoader) NS_IMPL_CYCLE_COLLECTION_UNLINK_END NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsContentSink) NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mDocument) NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mParser) - NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mNodeInfoManager) + NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NATIVE_MEMBER(mNodeInfoManager, + nsNodeInfoManager) NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mScriptLoader) NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END nsContentSink::nsContentSink() { // We have a zeroing operator new NS_ASSERTION(!mLayoutStarted, "What?");
--- a/content/base/src/nsNodeInfo.cpp +++ b/content/base/src/nsNodeInfo.cpp @@ -172,17 +172,18 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_ } cb.DescribeRefCountedNode(tmp->mRefCnt.get(), sizeof(nsNodeInfo), name); } else { NS_IMPL_CYCLE_COLLECTION_DESCRIBE(nsNodeInfo, tmp->mRefCnt.get()) } - NS_IMPL_CYCLE_COLLECTION_TRAVERSE_RAWPTR(mOwnerManager) + NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NATIVE_MEMBER(mOwnerManager, + nsNodeInfoManager) NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END NS_IMPL_CYCLE_COLLECTING_ADDREF(nsNodeInfo) NS_IMPL_CYCLE_COLLECTING_RELEASE_WITH_DESTROY(nsNodeInfo, LastRelease()) NS_INTERFACE_TABLE_HEAD(nsNodeInfo) NS_INTERFACE_TABLE1(nsNodeInfo, nsINodeInfo) NS_INTERFACE_TABLE_TO_MAP_SEGUE_CYCLE_COLLECTION(nsNodeInfo) NS_INTERFACE_MAP_END
--- a/content/base/src/nsNodeInfoManager.cpp +++ b/content/base/src/nsNodeInfoManager.cpp @@ -125,36 +125,32 @@ nsNodeInfoManager::~nsNodeInfoManager() PR_LOG(gNodeInfoManagerLeakPRLog, PR_LOG_DEBUG, ("NODEINFOMANAGER %p destroyed", this)); #endif nsLayoutStatics::Release(); } -NS_IMPL_CYCLE_COLLECTION_CLASS(nsNodeInfoManager) -NS_IMPL_CYCLE_COLLECTION_UNLINK_0(nsNodeInfoManager) -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsNodeInfoManager) +NS_IMPL_CYCLE_COLLECTION_NATIVE_CLASS(nsNodeInfoManager) +NS_IMPL_CYCLE_COLLECTION_UNLINK_NATIVE_0(nsNodeInfoManager) +NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NATIVE_BEGIN(nsNodeInfoManager) if (tmp->mDocument && nsCCUncollectableMarker::InGeneration(cb, tmp->mDocument->GetMarkedCCGeneration())) { return NS_SUCCESS_INTERRUPTED_TRAVERSE; } if (tmp->mNonDocumentNodeInfos) { NS_IMPL_CYCLE_COLLECTION_TRAVERSE_RAWPTR(mDocument) } NS_IMPL_CYCLE_COLLECTION_TRAVERSE_RAWPTR(mBindingManager) NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END -NS_IMPL_CYCLE_COLLECTING_ADDREF(nsNodeInfoManager) -NS_IMPL_CYCLE_COLLECTING_RELEASE(nsNodeInfoManager) - -NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsNodeInfoManager) - NS_INTERFACE_MAP_ENTRY(nsISupports) -NS_INTERFACE_MAP_END +NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(nsNodeInfoManager, AddRef) +NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(nsNodeInfoManager, Release) nsresult nsNodeInfoManager::Init(nsIDocument *aDocument) { NS_ENSURE_TRUE(mNodeInfoHash, NS_ERROR_OUT_OF_MEMORY); NS_PRECONDITION(!mPrincipal, "Being inited when we already have a principal?");
--- a/content/base/src/nsNodeInfoManager.h +++ b/content/base/src/nsNodeInfoManager.h @@ -22,24 +22,25 @@ class nsIDocument; class nsIDOMDocumentType; class nsINodeInfo; class nsIPrincipal; class nsNodeInfo; struct PLHashEntry; struct PLHashTable; template<class T> struct already_AddRefed; -class nsNodeInfoManager MOZ_FINAL : public nsISupports +class nsNodeInfoManager MOZ_FINAL { public: nsNodeInfoManager(); ~nsNodeInfoManager(); - NS_DECL_CYCLE_COLLECTING_ISUPPORTS - NS_DECL_CYCLE_COLLECTION_CLASS(nsNodeInfoManager) + NS_DECL_CYCLE_COLLECTION_NATIVE_CLASS(nsNodeInfoManager) + + NS_INLINE_DECL_CYCLE_COLLECTING_NATIVE_REFCOUNTING(nsNodeInfoManager) /** * Initialize the nodeinfo manager with a document. */ nsresult Init(nsIDocument *aDocument); /** * Release the reference to the document, this will be called when
--- a/content/xul/document/src/nsXULPrototypeDocument.cpp +++ b/content/xul/document/src/nsXULPrototypeDocument.cpp @@ -166,17 +166,18 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_END NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsXULPrototypeDocument) if (nsCCUncollectableMarker::InGeneration(cb, tmp->mCCGeneration)) { return NS_SUCCESS_INTERRUPTED_TRAVERSE; } NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NATIVE_MEMBER(mRoot, nsXULPrototypeElement) NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mGlobalObject"); cb.NoteXPCOMChild(static_cast<nsIScriptGlobalObject*>(tmp->mGlobalObject)); - NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mNodeInfoManager) + NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NATIVE_MEMBER(mNodeInfoManager, + nsNodeInfoManager) for (uint32_t i = 0; i < tmp->mPrototypeWaiters.Length(); ++i) { NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mPrototypeWaiters[i]"); cb.NoteXPCOMChild(static_cast<nsINode*>(tmp->mPrototypeWaiters[i].get())); } NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsXULPrototypeDocument) NS_INTERFACE_MAP_ENTRY(nsIScriptGlobalObjectOwner)