Bug 830590 - GC: ArrayToIdVector's trapName needs to be a Handle. r=terrence
authorTom Schuster <evilpies@gmail.com>
Fri, 18 Jan 2013 22:44:52 +0100
changeset 119304 91e1a316713c9bfbc749b6dae75ebc7305fb821d
parent 119303 c4925a6a42dd04d3cbcede5d272b5940d4ba1e42
child 119305 9026afc4dc208f620fc87feb82bf6e3f3ef3edfc
push id24195
push userMs2ger@gmail.com
push dateSat, 19 Jan 2013 16:10:11 +0000
treeherderautoland@02e12a80aef9 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersterrence
bugs830590
milestone21.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 830590 - GC: ArrayToIdVector's trapName needs to be a Handle. r=terrence
js/src/jsproxy.cpp
--- a/js/src/jsproxy.cpp
+++ b/js/src/jsproxy.cpp
@@ -1466,20 +1466,21 @@ ReportInvalidTrapResult(JSContext *cx, J
         return;
     js_ReportValueError2(cx, JSMSG_INVALID_TRAP_RESULT, JSDVG_IGNORE_STACK, v,
                          NullPtr(), bytes.ptr());
 }
 
 // This function is shared between getOwnPropertyNames, enumerate, and keys
 static bool
 ArrayToIdVector(JSContext *cx, HandleObject proxy, HandleObject target, HandleValue v,
-                AutoIdVector &props, unsigned flags, JSAtom *trapName)
+                AutoIdVector &props, unsigned flags, JSAtom *trapName_)
 {
     JS_ASSERT(v.isObject());
     RootedObject array(cx, &v.toObject());
+    RootedAtom trapName(cx, trapName_);
 
     // steps g-h
     uint32_t n;
     if (!GetLengthProperty(cx, array, &n))
         return false;
 
     // steps i-k
     for (uint32_t i = 0; i < n; ++i) {