]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - runtime/JSWrapperObject.cpp
JavaScriptCore-903.5.tar.gz
[apple/javascriptcore.git] / runtime / JSWrapperObject.cpp
index fb5701872d6d139f61a6f5f503f3830d25bd29c3..8d6387ec0ab20adf7afa53e1f10fdad0430f01e2 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  Copyright (C) 2006 Maks Orlovich
- *  Copyright (C) 2006 Apple Computer, Inc.
+ *  Copyright (C) 2006, 2009 Apple, Inc.
  *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Library General Public
@@ -26,11 +26,14 @@ namespace JSC {
 
 ASSERT_CLASS_FITS_IN_CELL(JSWrapperObject);
 
-void JSWrapperObject::mark(
+void JSWrapperObject::visitChildren(SlotVisitor& visitor
 {
-    JSObject::mark();
-    if (m_internalValue && !m_internalValue.marked())
-        m_internalValue.mark();
+    ASSERT_GC_OBJECT_INHERITS(this, &s_info);
+    COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
+    ASSERT(structure()->typeInfo().overridesVisitChildren());
+    JSObject::visitChildren(visitor);
+    if (m_internalValue)
+        visitor.append(&m_internalValue);
 }
 
 } // namespace JSC