Bug 777219 - Prepare SpiderMonkey for a fully rooted API; r=bhackett

This commit is contained in:
Steve Fink
2012-07-23 13:37:31 -07:00
parent d4a3b3944e
commit 56b9c45f6e
90 changed files with 1400 additions and 1270 deletions

View File

@@ -231,7 +231,7 @@ WeakMap_set_impl(JSContext *cx, CallArgs args)
"WeakMap.set", "0", "s");
return false;
}
JSObject *key = GetKeyArg(cx, args);
RootedObject key(cx, GetKeyArg(cx, args));
if (!key)
return false;
@@ -286,9 +286,9 @@ JS_NondeterministicGetWeakMapKeys(JSContext *cx, JSObject *obj, JSObject **ret)
ObjectValueMap *map = GetObjectMap(obj);
if (map) {
for (ObjectValueMap::Range r = map->nondeterministicAll(); !r.empty(); r.popFront()) {
JSObject *key = r.front().key;
RootedObject key(cx, r.front().key);
// Re-wrapping the key (see comment of GetKeyArg)
if (!JS_WrapObject(cx, &key))
if (!JS_WrapObject(cx, key.address()))
return false;
if (!js_NewbornArrayPush(cx, arr, ObjectValue(*key)))