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