OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "Config.h" | 5 #include "Config.h" |
6 #include "Edge.h" | 6 #include "Edge.h" |
7 #include "RecordInfo.h" | 7 #include "RecordInfo.h" |
8 | 8 |
9 TracingStatus Value::NeedsTracing(NeedsTracingOption option) { | 9 TracingStatus Value::NeedsTracing(NeedsTracingOption option) { |
10 return value_->NeedsTracing(option); | 10 return value_->NeedsTracing(option); |
11 } | 11 } |
12 | 12 |
13 bool Value::NeedsFinalization() { return value_->NeedsFinalization(); } | 13 bool Value::NeedsFinalization() { return value_->NeedsFinalization(); } |
14 bool Collection::NeedsFinalization() { return info_->NeedsFinalization(); } | 14 bool Collection::NeedsFinalization() { return info_->NeedsFinalization(); } |
15 | 15 |
16 void RecursiveEdgeVisitor::AtValue(Value*) {} | 16 void RecursiveEdgeVisitor::AtValue(Value*) {} |
17 void RecursiveEdgeVisitor::AtRawPtr(RawPtr*) {} | 17 void RecursiveEdgeVisitor::AtRawPtr(RawPtr*) {} |
18 void RecursiveEdgeVisitor::AtRefPtr(RefPtr*) {} | 18 void RecursiveEdgeVisitor::AtRefPtr(RefPtr*) {} |
19 void RecursiveEdgeVisitor::AtOwnPtr(OwnPtr*) {} | 19 void RecursiveEdgeVisitor::AtOwnPtr(OwnPtr*) {} |
20 void RecursiveEdgeVisitor::AtUniquePtr(UniquePtr*) {} | |
21 void RecursiveEdgeVisitor::AtMember(Member*) {} | 20 void RecursiveEdgeVisitor::AtMember(Member*) {} |
22 void RecursiveEdgeVisitor::AtWeakMember(WeakMember*) {} | 21 void RecursiveEdgeVisitor::AtWeakMember(WeakMember*) {} |
23 void RecursiveEdgeVisitor::AtPersistent(Persistent*) {} | 22 void RecursiveEdgeVisitor::AtPersistent(Persistent*) {} |
24 void RecursiveEdgeVisitor::AtCrossThreadPersistent(CrossThreadPersistent*) {} | |
25 void RecursiveEdgeVisitor::AtCollection(Collection*) {} | 23 void RecursiveEdgeVisitor::AtCollection(Collection*) {} |
26 | 24 |
27 void RecursiveEdgeVisitor::VisitValue(Value* e) { | 25 void RecursiveEdgeVisitor::VisitValue(Value* e) { |
28 AtValue(e); | 26 AtValue(e); |
29 } | 27 } |
30 | 28 |
31 void RecursiveEdgeVisitor::VisitRawPtr(RawPtr* e) { | 29 void RecursiveEdgeVisitor::VisitRawPtr(RawPtr* e) { |
32 AtRawPtr(e); | 30 AtRawPtr(e); |
33 Enter(e); | 31 Enter(e); |
34 e->ptr()->Accept(this); | 32 e->ptr()->Accept(this); |
35 Leave(); | 33 Leave(); |
36 } | 34 } |
37 | 35 |
38 void RecursiveEdgeVisitor::VisitRefPtr(RefPtr* e) { | 36 void RecursiveEdgeVisitor::VisitRefPtr(RefPtr* e) { |
39 AtRefPtr(e); | 37 AtRefPtr(e); |
40 Enter(e); | 38 Enter(e); |
41 e->ptr()->Accept(this); | 39 e->ptr()->Accept(this); |
42 Leave(); | 40 Leave(); |
43 } | 41 } |
44 void RecursiveEdgeVisitor::VisitOwnPtr(OwnPtr* e) { | 42 void RecursiveEdgeVisitor::VisitOwnPtr(OwnPtr* e) { |
45 AtOwnPtr(e); | 43 AtOwnPtr(e); |
46 Enter(e); | 44 Enter(e); |
47 e->ptr()->Accept(this); | 45 e->ptr()->Accept(this); |
48 Leave(); | 46 Leave(); |
49 } | 47 } |
50 | 48 |
51 void RecursiveEdgeVisitor::VisitUniquePtr(UniquePtr* e) { | |
52 AtUniquePtr(e); | |
53 Enter(e); | |
54 e->ptr()->Accept(this); | |
55 Leave(); | |
56 } | |
57 | |
58 void RecursiveEdgeVisitor::VisitMember(Member* e) { | 49 void RecursiveEdgeVisitor::VisitMember(Member* e) { |
59 AtMember(e); | 50 AtMember(e); |
60 Enter(e); | 51 Enter(e); |
61 e->ptr()->Accept(this); | 52 e->ptr()->Accept(this); |
62 Leave(); | 53 Leave(); |
63 } | 54 } |
64 | 55 |
65 void RecursiveEdgeVisitor::VisitWeakMember(WeakMember* e) { | 56 void RecursiveEdgeVisitor::VisitWeakMember(WeakMember* e) { |
66 AtWeakMember(e); | 57 AtWeakMember(e); |
67 Enter(e); | 58 Enter(e); |
68 e->ptr()->Accept(this); | 59 e->ptr()->Accept(this); |
69 Leave(); | 60 Leave(); |
70 } | 61 } |
71 | 62 |
72 void RecursiveEdgeVisitor::VisitPersistent(Persistent* e) { | 63 void RecursiveEdgeVisitor::VisitPersistent(Persistent* e) { |
73 AtPersistent(e); | 64 AtPersistent(e); |
74 Enter(e); | 65 Enter(e); |
75 e->ptr()->Accept(this); | 66 e->ptr()->Accept(this); |
76 Leave(); | 67 Leave(); |
77 } | 68 } |
78 | 69 |
79 void RecursiveEdgeVisitor::VisitCrossThreadPersistent( | |
80 CrossThreadPersistent* e) { | |
81 AtCrossThreadPersistent(e); | |
82 Enter(e); | |
83 e->ptr()->Accept(this); | |
84 Leave(); | |
85 } | |
86 | |
87 void RecursiveEdgeVisitor::VisitCollection(Collection* e) { | 70 void RecursiveEdgeVisitor::VisitCollection(Collection* e) { |
88 AtCollection(e); | 71 AtCollection(e); |
89 Enter(e); | 72 Enter(e); |
90 e->AcceptMembers(this); | 73 e->AcceptMembers(this); |
91 Leave(); | 74 Leave(); |
92 } | 75 } |
OLD | NEW |