162ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
262ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch// Use of this source code is governed by a BSD-style license that can be
362ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch// found in the LICENSE file.
462ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch
562ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch#include "fields_require_tracing.h"
662ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch
762ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochnamespace blink {
862ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch
962ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochvoid PartObject::trace(Visitor* visitor) {
1062ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch    m_obj1->trace(visitor); // Don't allow direct tracing.
1162ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch    visitor->trace(m_obj2);
1262ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch    // Missing visitor->trace(m_obj3);
1362ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch    visitor->trace(m_parts);
1462ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch}
1562ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch
1662ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochvoid PartBObject::trace(Visitor* visitor) {
1762ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  // Missing visitor->trace(m_set);
1862ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  visitor->trace(m_vector);
1962ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch}
2062ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch
2162ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochvoid HeapObject::trace(Visitor* visitor) {
2262ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch    // Missing visitor->trace(m_part);
2362ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch    visitor->trace(m_obj);
2462ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch}
2562ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch
2662ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch}
27