X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/9dae56ea45a0f5f8136a5c93d6f3a7f99399ca73..ed1e77d3adeb83d26fd1dfb16dd84cabdcefd250:/runtime/JSWrapperObject.cpp?ds=inline diff --git a/runtime/JSWrapperObject.cpp b/runtime/JSWrapperObject.cpp index fb57018..b6fadad 100644 --- a/runtime/JSWrapperObject.cpp +++ b/runtime/JSWrapperObject.cpp @@ -1,6 +1,6 @@ /* * Copyright (C) 2006 Maks Orlovich - * Copyright (C) 2006 Apple Computer, Inc. + * Copyright (C) 2006, 2009, 2012 Apple, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -22,15 +22,18 @@ #include "config.h" #include "JSWrapperObject.h" +#include "JSCInlines.h" + namespace JSC { -ASSERT_CLASS_FITS_IN_CELL(JSWrapperObject); +STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSWrapperObject); -void JSWrapperObject::mark() +void JSWrapperObject::visitChildren(JSCell* cell, SlotVisitor& visitor) { - JSObject::mark(); - if (m_internalValue && !m_internalValue.marked()) - m_internalValue.mark(); + JSWrapperObject* thisObject = jsCast(cell); + ASSERT_GC_OBJECT_INHERITS(thisObject, info()); + JSObject::visitChildren(thisObject, visitor); + visitor.append(&thisObject->m_internalValue); } } // namespace JSC