summaryrefslogtreecommitdiffstats
path: root/xpcom/base/nsCycleCollector.cpp
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-05-25 16:08:16 +0200
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-05-25 16:08:16 +0200
commit57e5655e8a3157c4691bfab4a98af169a2aa11d5 (patch)
tree0cc38fd4a41c6ff91a5a561c65d6cd74e15e8b23 /xpcom/base/nsCycleCollector.cpp
parent9dfb9401a5d621367730ad7ebecf0387111f4618 (diff)
downloadUXP-57e5655e8a3157c4691bfab4a98af169a2aa11d5.tar
UXP-57e5655e8a3157c4691bfab4a98af169a2aa11d5.tar.gz
UXP-57e5655e8a3157c4691bfab4a98af169a2aa11d5.tar.lz
UXP-57e5655e8a3157c4691bfab4a98af169a2aa11d5.tar.xz
UXP-57e5655e8a3157c4691bfab4a98af169a2aa11d5.zip
Avoid some useless ForgetSkippable handling while we're already dealing
with snow-white objects.
Diffstat (limited to 'xpcom/base/nsCycleCollector.cpp')
-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);