summaryrefslogtreecommitdiffstats
path: root/xpcom
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-05-25 16:08:16 +0200
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-05-25 22:15:46 +0200
commit451e32f5a18383677ae809ecfebc6cc455e4faab (patch)
treee7fc5df992ce7eadff6e83c047169923db986aeb /xpcom
parent607a4e2da599b2c704718a51a0ff6efd410f13e7 (diff)
downloadUXP-451e32f5a18383677ae809ecfebc6cc455e4faab.tar
UXP-451e32f5a18383677ae809ecfebc6cc455e4faab.tar.gz
UXP-451e32f5a18383677ae809ecfebc6cc455e4faab.tar.lz
UXP-451e32f5a18383677ae809ecfebc6cc455e4faab.tar.xz
UXP-451e32f5a18383677ae809ecfebc6cc455e4faab.zip
Avoid some useless ForgetSkippable handling while we're already dealing
with snow-white objects.
Diffstat (limited to 'xpcom')
-rw-r--r--xpcom/base/nsCycleCollector.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/xpcom/base/nsCycleCollector.cpp b/xpcom/base/nsCycleCollector.cpp
index 06ed42326..5dffa7409 100644
--- a/xpcom/base/nsCycleCollector.cpp
+++ b/xpcom/base/nsCycleCollector.cpp
@@ -2832,6 +2832,11 @@ nsCycleCollector::ForgetSkippable(bool aRemoveChildlessNodes,
{
CheckThreadSafety();
+ // Avoid this when we're aleady dealing with snow-white objects.
+ if (mFreeingSnowWhite) {
+ return;
+ }
+
mozilla::Maybe<mozilla::AutoGlobalTimelineMarker> marker;
if (NS_IsMainThread()) {
marker.emplace("nsCycleCollector::ForgetSkippable", MarkerStackRequest::NO_STACK);