Remove JSObject::capacity and JSObject::initializedLength, split JSObject::slots into slots and elements, bug 693221.
This commit is contained in:
@@ -1228,9 +1228,11 @@ SetUTCTime(JSContext *cx, JSObject *obj, jsdouble t, Value *vp = NULL)
|
||||
{
|
||||
JS_ASSERT(obj->isDate());
|
||||
|
||||
size_t slotCap = JS_MIN(obj->numSlots(), JSObject::DATE_CLASS_RESERVED_SLOTS);
|
||||
for (size_t ind = JSObject::JSSLOT_DATE_COMPONENTS_START; ind < slotCap; ind++)
|
||||
for (size_t ind = JSObject::JSSLOT_DATE_COMPONENTS_START;
|
||||
ind < JSObject::DATE_CLASS_RESERVED_SLOTS;
|
||||
ind++) {
|
||||
obj->setSlot(ind, UndefinedValue());
|
||||
}
|
||||
|
||||
obj->setDateUTCTime(DoubleValue(t));
|
||||
if (vp)
|
||||
@@ -1257,12 +1259,6 @@ FillLocalTimes(JSContext *cx, JSObject *obj)
|
||||
|
||||
jsdouble utcTime = obj->getDateUTCTime().toNumber();
|
||||
|
||||
/* Make sure there are slots to store the cached information. */
|
||||
if (obj->numSlots() < JSObject::DATE_CLASS_RESERVED_SLOTS) {
|
||||
if (!obj->growSlots(cx, JSObject::DATE_CLASS_RESERVED_SLOTS))
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!JSDOUBLE_IS_FINITE(utcTime)) {
|
||||
for (size_t ind = JSObject::JSSLOT_DATE_COMPONENTS_START;
|
||||
ind < JSObject::DATE_CLASS_RESERVED_SLOTS;
|
||||
@@ -2706,7 +2702,7 @@ JS_FRIEND_API(JSObject *)
|
||||
js_NewDateObjectMsec(JSContext *cx, jsdouble msec_time)
|
||||
{
|
||||
JSObject *obj = NewBuiltinClassInstance(cx, &DateClass);
|
||||
if (!obj || !obj->ensureSlots(cx, JSObject::DATE_CLASS_RESERVED_SLOTS))
|
||||
if (!obj)
|
||||
return NULL;
|
||||
if (!SetUTCTime(cx, obj, msec_time))
|
||||
return NULL;
|
||||
|
||||
Reference in New Issue
Block a user