Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(640)

Unified Diff: Source/core/inspector/AsyncCallStackTracker.cpp

Issue 422273002: Oilpan: Prepare moving AsyncCallStackTracker to Oilpan (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/inspector/AsyncCallStackTracker.cpp
diff --git a/Source/core/inspector/AsyncCallStackTracker.cpp b/Source/core/inspector/AsyncCallStackTracker.cpp
index 01c4e099191b506d642d8f51838c2d943a2d26d2..8eb103cf8404108521c4517b41d97915f992f155 100644
--- a/Source/core/inspector/AsyncCallStackTracker.cpp
+++ b/Source/core/inspector/AsyncCallStackTracker.cpp
@@ -56,8 +56,8 @@ static const char enqueueMutationRecordName[] = "Mutation";
namespace blink {
-class AsyncCallStackTracker::ExecutionContextData FINAL : public ContextLifecycleObserver {
- WTF_MAKE_FAST_ALLOCATED;
+class AsyncCallStackTracker::ExecutionContextData FINAL : public NoBaseWillBeGarbageCollectedFinalized<AsyncCallStackTracker::ExecutionContextData>, public ContextLifecycleObserver {
+ WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED;
public:
ExecutionContextData(AsyncCallStackTracker* tracker, ExecutionContext* executionContext)
: ContextLifecycleObserver(executionContext)
@@ -83,20 +83,33 @@ public:
return m_circularSequentialID;
}
+ void trace(Visitor* visitor)
+ {
+ visitor->trace(m_tracker);
+ visitor->trace(m_timerCallChains);
+ visitor->trace(m_animationFrameCallChains);
+ visitor->trace(m_eventCallChains);
+ visitor->trace(m_xhrCallChains);
+ visitor->trace(m_mutationObserverCallChains);
+ visitor->trace(m_executionContextTaskCallChains);
+ visitor->trace(m_v8AsyncTaskCallChains);
+ visitor->trace(m_asyncOperationCallChains);
+ }
+
private:
int m_circularSequentialID;
public:
- AsyncCallStackTracker* m_tracker;
+ RawPtrWillBeMember<AsyncCallStackTracker> m_tracker;
HashSet<int> m_intervalTimerIds;
- WillBePersistentHeapHashMap<int, RefPtrWillBeMember<AsyncCallChain> > m_timerCallChains;
- WillBePersistentHeapHashMap<int, RefPtrWillBeMember<AsyncCallChain> > m_animationFrameCallChains;
- WillBePersistentHeapHashMap<RawPtrWillBeMember<Event>, RefPtrWillBeMember<AsyncCallChain> > m_eventCallChains;
- WillBePersistentHeapHashMap<RawPtrWillBeMember<EventTarget>, RefPtrWillBeMember<AsyncCallChain> > m_xhrCallChains;
- WillBePersistentHeapHashMap<RawPtrWillBeMember<MutationObserver>, RefPtrWillBeMember<AsyncCallChain> > m_mutationObserverCallChains;
- WillBePersistentHeapHashMap<ExecutionContextTask*, RefPtrWillBeMember<AsyncCallChain> > m_executionContextTaskCallChains;
- WillBePersistentHeapHashMap<String, RefPtrWillBeMember<AsyncCallChain> > m_v8AsyncTaskCallChains;
- WillBePersistentHeapHashMap<int, RefPtrWillBeMember<AsyncCallChain> > m_asyncOperationCallChains;
+ WillBeHeapHashMap<int, RefPtrWillBeMember<AsyncCallChain> > m_timerCallChains;
+ WillBeHeapHashMap<int, RefPtrWillBeMember<AsyncCallChain> > m_animationFrameCallChains;
+ WillBeHeapHashMap<RawPtrWillBeMember<Event>, RefPtrWillBeMember<AsyncCallChain> > m_eventCallChains;
+ WillBeHeapHashMap<RawPtrWillBeMember<EventTarget>, RefPtrWillBeMember<AsyncCallChain> > m_xhrCallChains;
+ WillBeHeapHashMap<RawPtrWillBeMember<MutationObserver>, RefPtrWillBeMember<AsyncCallChain> > m_mutationObserverCallChains;
+ WillBeHeapHashMap<ExecutionContextTask*, RefPtrWillBeMember<AsyncCallChain> > m_executionContextTaskCallChains;
+ WillBeHeapHashMap<String, RefPtrWillBeMember<AsyncCallChain> > m_v8AsyncTaskCallChains;
+ WillBeHeapHashMap<int, RefPtrWillBeMember<AsyncCallChain> > m_asyncOperationCallChains;
};
static XMLHttpRequest* toXmlHttpRequest(EventTarget* eventTarget)
@@ -480,4 +493,10 @@ void AsyncCallStackTracker::clear()
delete it->value;
}
+void AsyncCallStackTracker::trace(Visitor* visitor)
+{
+ visitor->trace(m_currentAsyncCallChain);
+ visitor->trace(m_executionContextDataMap);
+}
+
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698