Bug 716006 - Don't traverse NodeInfoManager so much, r=jst, mccr8

--HG--
extra : rebase_source : 34085e6ad2c49a691b18c6fb092db7ae71e2a0f3
This commit is contained in:
Olli Pettay 2012-01-07 20:57:03 +02:00
Родитель 95cc5fd961
Коммит 67e59b9a84
1 изменённых файлов: 6 добавлений и 0 удалений

Просмотреть файл

@ -54,6 +54,7 @@
#include "nsLayoutStatics.h"
#include "nsBindingManager.h"
#include "nsHashKeys.h"
#include "nsCCUncollectableMarker.h"
#ifdef MOZ_LOGGING
// so we can get logging even in release builds
@ -161,6 +162,11 @@ NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(nsNodeInfoManager, AddRef)
NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(nsNodeInfoManager, Release)
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)
}