Index: tools/clang/blink_gc_plugin/tests/trace_after_dispatch_impl.h |
diff --git a/tools/clang/blink_gc_plugin/tests/trace_after_dispatch_impl.h b/tools/clang/blink_gc_plugin/tests/trace_after_dispatch_impl.h |
index e55c06eee51c3cc5f816cae972aaf0c4292502dc..fe25279512c636f7c9ece4b45cc8e1fee55d7862 100644 |
--- a/tools/clang/blink_gc_plugin/tests/trace_after_dispatch_impl.h |
+++ b/tools/clang/blink_gc_plugin/tests/trace_after_dispatch_impl.h |
@@ -23,12 +23,19 @@ class TraceAfterDispatchInlinedBase |
public: |
explicit TraceAfterDispatchInlinedBase(ClassTag tag) : tag_(tag) {} |
- void trace(Visitor* visitor); |
+ void trace(Visitor* visitor) { traceImpl(visitor); } |
+ void trace(InlinedGlobalMarkingVisitor visitor) { traceImpl(visitor); } |
void traceAfterDispatch(Visitor* visitor) { traceAfterDispatchImpl(visitor); } |
+ void traceAfterDispatch(InlinedGlobalMarkingVisitor visitor) { |
+ traceAfterDispatchImpl(visitor); |
+ } |
private: |
template <typename VisitorDispatcher> |
+ void traceImpl(VisitorDispatcher visitor); |
+ |
+ template <typename VisitorDispatcher> |
void traceAfterDispatchImpl(VisitorDispatcher visitor) { |
visitor->trace(x_base_); |
} |
@@ -42,6 +49,9 @@ class TraceAfterDispatchInlinedDerived : public TraceAfterDispatchInlinedBase { |
TraceAfterDispatchInlinedDerived() : TraceAfterDispatchInlinedBase(DERIVED) {} |
void traceAfterDispatch(Visitor* visitor) { traceAfterDispatchImpl(visitor); } |
+ void traceAfterDispatch(InlinedGlobalMarkingVisitor visitor) { |
+ traceAfterDispatchImpl(visitor); |
+ } |
private: |
template <typename VisitorDispatcher> |
@@ -59,11 +69,16 @@ class TraceAfterDispatchExternBase |
explicit TraceAfterDispatchExternBase(ClassTag tag) : tag_(tag) {} |
void trace(Visitor* visitor); |
+ void trace(InlinedGlobalMarkingVisitor visitor); |
void traceAfterDispatch(Visitor* visitor); |
+ void traceAfterDispatch(InlinedGlobalMarkingVisitor visitor); |
private: |
template <typename VisitorDispatcher> |
+ void traceImpl(VisitorDispatcher visitor); |
+ |
+ template <typename VisitorDispatcher> |
void traceAfterDispatchImpl(VisitorDispatcher visitor); |
ClassTag tag_; |
@@ -75,6 +90,7 @@ class TraceAfterDispatchExternDerived : public TraceAfterDispatchExternBase { |
TraceAfterDispatchExternDerived() : TraceAfterDispatchExternBase(DERIVED) {} |
void traceAfterDispatch(Visitor* visitor); |
+ void traceAfterDispatch(InlinedGlobalMarkingVisitor visitor); |
private: |
template <typename VisitorDispatcher> |