Home | History | Annotate | Download | only in tests
      1 // Copyright 2014 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef TRACE_COLLECTIONS_H_
      6 #define TRACE_COLLECTIONS_H_
      7 
      8 #include "heap/stubs.h"
      9 
     10 namespace blink {
     11 
     12 class HeapObject : public GarbageCollected<HeapObject> {
     13 public:
     14     void trace(Visitor*);
     15 private:
     16     HeapVector<Member<HeapObject> > m_heapVector;
     17     Vector<Member<HeapObject>, 0, HeapAllocator> m_wtfVector;
     18 
     19     HeapDeque<Member<HeapObject> > m_heapDeque;
     20     Deque<Member<HeapObject>, 0, HeapAllocator> m_wtfDeque;
     21 
     22     HeapHashSet<Member<HeapObject> > m_heapSet;
     23     HashSet<Member<HeapObject>, void, HeapAllocator> m_wtfSet;
     24 
     25     HeapListHashSet<Member<HeapObject> > m_heapListSet;
     26     ListHashSet<Member<HeapObject>, void, HeapAllocator> m_wtfListSet;
     27 
     28     HeapLinkedHashSet<Member<HeapObject> > m_heapLinkedSet;
     29     LinkedHashSet<Member<HeapObject>, void, HeapAllocator> m_wtfLinkedSet;
     30 
     31     HeapHashCountedSet<Member<HeapObject> > m_heapCountedSet;
     32     HashCountedSet<Member<HeapObject>, void, HeapAllocator> m_wtfCountedSet;
     33 
     34     HeapHashMap<int, Member<HeapObject> > m_heapMapKey;
     35     HeapHashMap<Member<HeapObject>, int > m_heapMapVal;
     36     HashMap<int, Member<HeapObject>, void, void, void, HeapAllocator>
     37     m_wtfMapKey;
     38     HashMap<Member<HeapObject>, int, void, void, void, HeapAllocator>
     39     m_wtfMapVal;
     40 };
     41 
     42 }
     43 
     44 #endif
     45