Backed out changeset c961a413660c

This commit is contained in:
Nicholas Nethercote
2010-10-17 23:24:26 -07:00
parent f60d3e7adc
commit 27b64244f5
5 changed files with 320 additions and 794 deletions

View File

@@ -433,9 +433,6 @@ SetArrayElement(JSContext *cx, JSObject *obj, jsdouble index, const Value &v)
JSBool JS_FASTCALL
js_EnsureDenseArrayCapacity(JSContext *cx, JSObject *obj, jsint i)
{
#ifdef DEBUG
Class *origObjClasp = obj->clasp;
#endif
jsuint u = jsuint(i);
jsuint capacity = obj->getDenseArrayCapacity();
if (u < capacity)
@@ -443,15 +440,10 @@ js_EnsureDenseArrayCapacity(JSContext *cx, JSObject *obj, jsint i)
if (INDEX_TOO_SPARSE(obj, u))
return false;
JSBool ret = obj->ensureDenseArrayElements(cx, u + 1);
/* Partially check the CallInfo's storeAccSet is correct. */
JS_ASSERT(obj->clasp == origObjClasp);
return ret;
return obj->ensureDenseArrayElements(cx, u + 1);
}
/* This function and its callees do not touch any object's .clasp field. */
JS_DEFINE_CALLINFO_3(extern, BOOL, js_EnsureDenseArrayCapacity, CONTEXT, OBJECT, INT32,
0, nanojit::ACCSET_STORE_ANY & ~ACCSET_OBJ_CLASP)
JS_DEFINE_CALLINFO_3(extern, BOOL, js_EnsureDenseArrayCapacity, CONTEXT, OBJECT, INT32, 0,
nanojit::ACCSET_STORE_ANY)
#endif
static JSBool
@@ -827,9 +819,8 @@ js_Array_dense_setelem_hole(JSContext* cx, JSObject* obj, jsint i)
obj->setArrayLength(u + 1);
return true;
}
/* storeAccSet == ACCSET_OBJ_PRIVATE: because it can set 'length'. */
JS_DEFINE_CALLINFO_3(extern, BOOL, js_Array_dense_setelem_hole, CONTEXT, OBJECT, INT32,
0, ACCSET_OBJ_PRIVATE)
0, nanojit::ACCSET_STORE_ANY)
#endif
static JSBool