1 // Copyright 2015 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "traceimpl_overloaded.h" 6 7 namespace blink { 8 Trace(Visitor * visitor)9void ExternBase::Trace(Visitor* visitor) { 10 TraceImpl(visitor); 11 } 12 Trace(InlinedGlobalMarkingVisitor visitor)13void ExternBase::Trace(InlinedGlobalMarkingVisitor visitor) { 14 TraceImpl(visitor); 15 } 16 17 template <typename VisitorDispatcher> TraceImpl(VisitorDispatcher visitor)18inline void ExternBase::TraceImpl(VisitorDispatcher visitor) { 19 visitor->Trace(x_base_); 20 } 21 Trace(Visitor * visitor)22void ExternDerived::Trace(Visitor* visitor) { 23 TraceImpl(visitor); 24 } 25 Trace(InlinedGlobalMarkingVisitor visitor)26void ExternDerived::Trace(InlinedGlobalMarkingVisitor visitor) { 27 TraceImpl(visitor); 28 } 29 30 template <typename VisitorDispatcher> TraceImpl(VisitorDispatcher visitor)31inline void ExternDerived::TraceImpl(VisitorDispatcher visitor) { 32 visitor->Trace(x_derived_); 33 ExternBase::Trace(visitor); 34 } 35 36 } 37