- rolled scope chain optimization out; it was breaking the world
[WebKit-https.git] / JavaScriptCore / kjs / object.h
index 28643bafd7977349dab675e7a3db6c9ca3033fd8..caa5a861d85f904f6c5745e22b3caf101129e10c 100644 (file)
@@ -592,6 +592,19 @@ inline void ScopeChain::mark()
     }
 }
 
     }
 }
 
+inline void ScopeChain::release()
+{
+    // This function is only called by deref(),
+    // Deref ensures these conditions are true.
+    ASSERT(_node && _node->refCount == 0);
+    ScopeChainNode *n = _node;
+    do {
+        ScopeChainNode *next = n->next;
+        delete n;
+        n = next;
+    } while (n && --n->refCount == 0);
+}
+
 inline JSValue* JSObject::toPrimitive(ExecState* exec, JSType preferredType) const
 {
     return defaultValue(exec, preferredType);
 inline JSValue* JSObject::toPrimitive(ExecState* exec, JSType preferredType) const
 {
     return defaultValue(exec, preferredType);