1010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// found in the LICENSE file.
4010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
5010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#ifndef TRACE_COLLECTIONS_H_
6010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#define TRACE_COLLECTIONS_H_
7010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
8010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "heap/stubs.h"
9010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
10116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace blink {
11010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
12010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)class HeapObject : public GarbageCollected<HeapObject> {
13010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)public:
14010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    void trace(Visitor*);
15010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)private:
16010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    HeapVector<Member<HeapObject> > m_heapVector;
17010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    Vector<Member<HeapObject>, 0, HeapAllocator> m_wtfVector;
18010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
19010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    HeapDeque<Member<HeapObject> > m_heapDeque;
20010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    Deque<Member<HeapObject>, 0, HeapAllocator> m_wtfDeque;
21010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
22010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    HeapHashSet<Member<HeapObject> > m_heapSet;
23010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    HashSet<Member<HeapObject>, void, HeapAllocator> m_wtfSet;
24010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
25010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    HeapListHashSet<Member<HeapObject> > m_heapListSet;
26010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    ListHashSet<Member<HeapObject>, void, HeapAllocator> m_wtfListSet;
27010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
28010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    HeapLinkedHashSet<Member<HeapObject> > m_heapLinkedSet;
29010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    LinkedHashSet<Member<HeapObject>, void, HeapAllocator> m_wtfLinkedSet;
30010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
31010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    HeapHashCountedSet<Member<HeapObject> > m_heapCountedSet;
32010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    HashCountedSet<Member<HeapObject>, void, HeapAllocator> m_wtfCountedSet;
33010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
34010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    HeapHashMap<int, Member<HeapObject> > m_heapMapKey;
35010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    HeapHashMap<Member<HeapObject>, int > m_heapMapVal;
36010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    HashMap<int, Member<HeapObject>, void, void, void, HeapAllocator>
37010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    m_wtfMapKey;
38010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    HashMap<Member<HeapObject>, int, void, void, void, HeapAllocator>
39010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    m_wtfMapVal;
40010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)};
41010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
42010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)}
43010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
44010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#endif
45