OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef WrapperVisitor_h | 5 #ifndef WrapperVisitor_h |
6 #define WrapperVisitor_h | 6 #define WrapperVisitor_h |
7 | 7 |
8 #include "platform/PlatformExport.h" | 8 #include "platform/PlatformExport.h" |
9 #include "platform/wtf/Allocator.h" | 9 #include "platform/wtf/Allocator.h" |
10 | 10 |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
131 } | 131 } |
132 template <typename T> | 132 template <typename T> |
133 void TraceWrappersWithManualWriteBarrier(const WeakMember<T>& t) const { | 133 void TraceWrappersWithManualWriteBarrier(const WeakMember<T>& t) const { |
134 TraceWrappers(t.Get()); | 134 TraceWrappers(t.Get()); |
135 } | 135 } |
136 template <typename T> | 136 template <typename T> |
137 void TraceWrappersWithManualWriteBarrier(const T* traceable) const { | 137 void TraceWrappersWithManualWriteBarrier(const T* traceable) const { |
138 TraceWrappers(traceable); | 138 TraceWrappers(traceable); |
139 } | 139 } |
140 | 140 |
| 141 // TODO(mlippautz): Add |template <typename T> TraceWrappers(const |
| 142 // TraceWrapperV8Reference<T>&)|. |
141 virtual void TraceWrappers( | 143 virtual void TraceWrappers( |
142 const TraceWrapperV8Reference<v8::Value>&) const = 0; | 144 const TraceWrapperV8Reference<v8::Value>&) const = 0; |
143 virtual void MarkWrapper(const v8::PersistentBase<v8::Value>*) const = 0; | 145 virtual void MarkWrapper(const v8::PersistentBase<v8::Value>*) const = 0; |
144 | 146 |
145 virtual void DispatchTraceWrappers(const TraceWrapperBase*) const = 0; | 147 virtual void DispatchTraceWrappers(const TraceWrapperBase*) const = 0; |
146 | 148 |
147 virtual bool MarkWrapperHeader(HeapObjectHeader*) const = 0; | 149 virtual bool MarkWrapperHeader(HeapObjectHeader*) const = 0; |
148 | 150 |
149 virtual void MarkWrappersInAllWorlds(const ScriptWrappable*) const = 0; | 151 virtual void MarkWrappersInAllWorlds(const ScriptWrappable*) const = 0; |
150 void MarkWrappersInAllWorlds(const TraceWrapperBase*) const { | 152 void MarkWrappersInAllWorlds(const TraceWrapperBase*) const { |
(...skipping 15 matching lines...) Expand all Loading... |
166 virtual bool PushToMarkingDeque( | 168 virtual bool PushToMarkingDeque( |
167 void (*trace_wrappers_callback)(const WrapperVisitor*, const void*), | 169 void (*trace_wrappers_callback)(const WrapperVisitor*, const void*), |
168 HeapObjectHeader* (*heap_object_header_callback)(const void*), | 170 HeapObjectHeader* (*heap_object_header_callback)(const void*), |
169 void (*missed_write_barrier_callback)(void), | 171 void (*missed_write_barrier_callback)(void), |
170 const void*) const = 0; | 172 const void*) const = 0; |
171 }; | 173 }; |
172 | 174 |
173 } // namespace blink | 175 } // namespace blink |
174 | 176 |
175 #endif // WrapperVisitor_h | 177 #endif // WrapperVisitor_h |
OLD | NEW |