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

Unified Diff: Source/modules/webaudio/AudioContext.h

Issue 445453006: Add comments to vectors/hash sets of raw pointers to on-heap objects used in webaudio/ (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
« no previous file with comments | « no previous file | Source/modules/webaudio/AudioNodeInput.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/modules/webaudio/AudioContext.h
diff --git a/Source/modules/webaudio/AudioContext.h b/Source/modules/webaudio/AudioContext.h
index de56413389cbf4593b3f8bcbbfb658bdf1d67b90..8a2bdaba4429ba456923701887dc37da6354025e 100644
--- a/Source/modules/webaudio/AudioContext.h
+++ b/Source/modules/webaudio/AudioContext.h
@@ -276,6 +276,8 @@ private:
RefPtrWillBeMember<AudioListener> m_listener;
// Only accessed in the audio thread.
+ // Oilpan: Since items are added to the vector by the audio thread (not registered to Oilpan),
+ // we cannot use a HeapVector.
Vector<AudioNode*> m_finishedNodes;
// List of source nodes. This is either accessed when the graph lock is
@@ -317,9 +319,13 @@ private:
// This is copied to m_nodesToDelete at the end of a render cycle in handlePostRenderTasks(), where we're assured of a stable graph
// state which will have no references to any of the nodes in m_nodesToDelete once the context lock is released
// (when handlePostRenderTasks() has completed).
+ // Oilpan: Since items are added to the vector by the audio thread (not registered to Oilpan),
+ // we cannot use a HeapVector.
Vector<AudioNode*> m_nodesMarkedForDeletion;
// They will be scheduled for deletion (on the main thread) at the end of a render cycle (in realtime thread).
+ // Oilpan: Since items are added to the vector by the audio thread (not registered to Oilpan),
+ // we cannot use a HeapVector.
Vector<AudioNode*> m_nodesToDelete;
bool m_isDeletionScheduled;
#endif
@@ -327,6 +333,8 @@ private:
// These two HashSet must be accessed only when the graph lock is held.
// Oilpan: These HashSet should be HeapHashSet<WeakMember<AudioNodeOutput>>
// ideally. But it's difficult to lock them correctly during GC.
+ // Oilpan: Since items are added to these hash sets by the audio thread (not registered to Oilpan),
+ // we cannot use HeapHashSets.
HashSet<AudioSummingJunction*> m_dirtySummingJunctions;
HashSet<AudioNodeOutput*> m_dirtyAudioNodeOutputs;
void handleDirtyAudioSummingJunctions();
@@ -334,6 +342,8 @@ private:
// For the sake of thread safety, we maintain a seperate Vector of automatic pull nodes for rendering in m_renderingAutomaticPullNodes.
// It will be copied from m_automaticPullNodes by updateAutomaticPullNodes() at the very start or end of the rendering quantum.
+ // Oilpan: Since items are added to the vector/hash set by the audio thread (not registered to Oilpan),
+ // we cannot use a HeapVector/HeapHashSet.
HashSet<AudioNode*> m_automaticPullNodes;
Vector<AudioNode*> m_renderingAutomaticPullNodes;
// m_automaticPullNodesNeedUpdating keeps track if m_automaticPullNodes is modified.
@@ -348,6 +358,8 @@ private:
volatile ThreadIdentifier m_graphOwnerThread; // if the lock is held then this is the thread which owns it, otherwise == UndefinedThreadIdentifier
// Only accessed in the audio thread.
+ // Oilpan: Since items are added to these vectors by the audio thread (not registered to Oilpan),
+ // we cannot use HeapVectors.
Vector<AudioNode*> m_deferredBreakConnectionList;
Vector<AudioNode*> m_deferredFinishDerefList;
« no previous file with comments | « no previous file | Source/modules/webaudio/AudioNodeInput.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698