Backed out bug 633409.

This commit is contained in:
Andreas Gal
2011-02-11 09:46:13 -08:00
parent c276a191ca
commit 6a19958f82
3 changed files with 6 additions and 11 deletions

View File

@@ -468,7 +468,7 @@ RegisterEnumerator(JSContext *cx, JSObject *iterobj, NativeIterator *ni)
cx->enumerators = iterobj;
JS_ASSERT(!(ni->flags & JSITER_ACTIVE));
ni->flags |= (JSITER_ACTIVE | JSITER_REUSABLE);
ni->flags |= JSITER_ACTIVE;
}
}
@@ -788,7 +788,7 @@ js_CloseIterator(JSContext *cx, JSObject *obj)
/* Remove enumerators from the active list, which is a stack. */
NativeIterator *ni = obj->getNativeIterator();
if (ni->flags & JSITER_REUSABLE) {
if (ni->flags & JSITER_ENUMERATE) {
JS_ASSERT(cx->enumerators == obj);
cx->enumerators = ni->next;
@@ -882,10 +882,6 @@ SuppressDeletedPropertyHelper(JSContext *cx, JSObject *obj, IdPredicate predicat
memmove(idp, idp + 1, (props_end - (idp + 1)) * sizeof(jsid));
ni->props_end = ni->end() - 1;
}
/* Don't reuse modified native iterators. */
ni->flags &= (~JSITER_REUSABLE);
if (predicate.matchesAtMostOne())
break;
}