From 6e57f07678d2cf970671bccf68b0aed411dd673c Mon Sep 17 00:00:00 2001 From: Brian Hackett Date: Sun, 3 Apr 2011 15:56:37 -0700 Subject: [PATCH] [INFER] Revert broken, pointless optimization to EnsureDenseArrayCapacity, bug 647524. --- js/src/jsarray.cpp | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/js/src/jsarray.cpp b/js/src/jsarray.cpp index fdf5a8f71df..6fe892ea486 100644 --- a/js/src/jsarray.cpp +++ b/js/src/jsarray.cpp @@ -499,20 +499,11 @@ js_EnsureDenseArrayCapacity(JSContext *cx, JSObject *obj, jsint i) Class *origObjClasp = obj->clasp; #endif jsuint u = jsuint(i); - if (obj->ensureDenseArrayElements(cx, u, 1) != JSObject::ED_OK) - return false; - - /* - * Write undefined to the element so the tracer doesn't see an uninitialized value - * when testing for a hole. - */ - obj->setDenseArrayElement(i, UndefinedValue()); - if (u >= obj->getArrayLength()) - obj->setDenseArrayLength(u + 1); + JSBool ret = (obj->ensureDenseArrayElements(cx, u, 1) == JSObject::ED_OK); /* Partially check the CallInfo's storeAccSet is correct. */ JS_ASSERT(obj->clasp == origObjClasp); - return true; + return ret; } /* This function and its callees do not touch any object's .clasp field. */ JS_DEFINE_CALLINFO_3(extern, BOOL, js_EnsureDenseArrayCapacity, CONTEXT, OBJECT, INT32,