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*) {} |
20 void RecursiveEdgeVisitor::AtMember(Member*) {} | 21 void RecursiveEdgeVisitor::AtMember(Member*) {} |
21 void RecursiveEdgeVisitor::AtWeakMember(WeakMember*) {} | 22 void RecursiveEdgeVisitor::AtWeakMember(WeakMember*) {} |
22 void RecursiveEdgeVisitor::AtPersistent(Persistent*) {} | 23 void RecursiveEdgeVisitor::AtPersistent(Persistent*) {} |
| 24 void RecursiveEdgeVisitor::AtCrossThreadPersistent(CrossThreadPersistent*) {} |
23 void RecursiveEdgeVisitor::AtCollection(Collection*) {} | 25 void RecursiveEdgeVisitor::AtCollection(Collection*) {} |
24 | 26 |
25 void RecursiveEdgeVisitor::VisitValue(Value* e) { | 27 void RecursiveEdgeVisitor::VisitValue(Value* e) { |
26 AtValue(e); | 28 AtValue(e); |
27 } | 29 } |
28 | 30 |
29 void RecursiveEdgeVisitor::VisitRawPtr(RawPtr* e) { | 31 void RecursiveEdgeVisitor::VisitRawPtr(RawPtr* e) { |
30 AtRawPtr(e); | 32 AtRawPtr(e); |
31 Enter(e); | 33 Enter(e); |
32 e->ptr()->Accept(this); | 34 e->ptr()->Accept(this); |
33 Leave(); | 35 Leave(); |
34 } | 36 } |
35 | 37 |
36 void RecursiveEdgeVisitor::VisitRefPtr(RefPtr* e) { | 38 void RecursiveEdgeVisitor::VisitRefPtr(RefPtr* e) { |
37 AtRefPtr(e); | 39 AtRefPtr(e); |
38 Enter(e); | 40 Enter(e); |
39 e->ptr()->Accept(this); | 41 e->ptr()->Accept(this); |
40 Leave(); | 42 Leave(); |
41 } | 43 } |
42 void RecursiveEdgeVisitor::VisitOwnPtr(OwnPtr* e) { | 44 void RecursiveEdgeVisitor::VisitOwnPtr(OwnPtr* e) { |
43 AtOwnPtr(e); | 45 AtOwnPtr(e); |
44 Enter(e); | 46 Enter(e); |
45 e->ptr()->Accept(this); | 47 e->ptr()->Accept(this); |
46 Leave(); | 48 Leave(); |
47 } | 49 } |
48 | 50 |
| 51 void RecursiveEdgeVisitor::VisitUniquePtr(UniquePtr* e) { |
| 52 AtUniquePtr(e); |
| 53 Enter(e); |
| 54 e->ptr()->Accept(this); |
| 55 Leave(); |
| 56 } |
| 57 |
49 void RecursiveEdgeVisitor::VisitMember(Member* e) { | 58 void RecursiveEdgeVisitor::VisitMember(Member* e) { |
50 AtMember(e); | 59 AtMember(e); |
51 Enter(e); | 60 Enter(e); |
52 e->ptr()->Accept(this); | 61 e->ptr()->Accept(this); |
53 Leave(); | 62 Leave(); |
54 } | 63 } |
55 | 64 |
56 void RecursiveEdgeVisitor::VisitWeakMember(WeakMember* e) { | 65 void RecursiveEdgeVisitor::VisitWeakMember(WeakMember* e) { |
57 AtWeakMember(e); | 66 AtWeakMember(e); |
58 Enter(e); | 67 Enter(e); |
59 e->ptr()->Accept(this); | 68 e->ptr()->Accept(this); |
60 Leave(); | 69 Leave(); |
61 } | 70 } |
62 | 71 |
63 void RecursiveEdgeVisitor::VisitPersistent(Persistent* e) { | 72 void RecursiveEdgeVisitor::VisitPersistent(Persistent* e) { |
64 AtPersistent(e); | 73 AtPersistent(e); |
65 Enter(e); | 74 Enter(e); |
66 e->ptr()->Accept(this); | 75 e->ptr()->Accept(this); |
67 Leave(); | 76 Leave(); |
68 } | 77 } |
69 | 78 |
| 79 void RecursiveEdgeVisitor::VisitCrossThreadPersistent( |
| 80 CrossThreadPersistent* e) { |
| 81 AtCrossThreadPersistent(e); |
| 82 Enter(e); |
| 83 e->ptr()->Accept(this); |
| 84 Leave(); |
| 85 } |
| 86 |
70 void RecursiveEdgeVisitor::VisitCollection(Collection* e) { | 87 void RecursiveEdgeVisitor::VisitCollection(Collection* e) { |
71 AtCollection(e); | 88 AtCollection(e); |
72 Enter(e); | 89 Enter(e); |
73 e->AcceptMembers(this); | 90 e->AcceptMembers(this); |
74 Leave(); | 91 Leave(); |
75 } | 92 } |
OLD | NEW |