nbytes = (nslots + 1) * sizeof(jsval); #if defined _MSC_VER && _MSC_VER <= 800 if (nbytes > 60000U) { JS_ReportOutOfMemory(cx); return JS_FALSE; } #endif  newslots = (jsval *) JS_realloc(cx, obj->slots - 1, nbytes);
newslots = (jsval *) JS_realloc(cx, obj->slots - 1, (nslots + 1) * sizeof(jsval));
js_AllocSlot(JSContext *cx, JSObject *obj, uint32 *slotp){    JSObjectMap *map;    uint32 nslots, i;    size_t nbytes;    jsval *newslots;    map = obj->map;    JS_ASSERT(!MAP_IS_NATIVE(map) || ((JSScope *)map)->object == obj);    nslots = map->nslots;    if (map->freeslot >= nslots) {        nslots = map->freeslot;        JS_ASSERT(nslots >= JS_INITIAL_NSLOTS);        nslots += (nslots + 1) / 2;        nbytes = (nslots + 1) * sizeof(jsval);#if defined _MSC_VER && _MSC_VER <= 800        if (nbytes > 60000U) {            JS_ReportOutOfMemory(cx);            return JS_FALSE;        }#endif        newslots = (jsval *) JS_realloc(cx, obj->slots - 1, nbytes);        if (!newslots)            return JS_FALSE;        for (i = 1 + newslots[0]; i <= nslots; i++)            newslots[i] = JSVAL_VOID;        newslots[0] = map->nslots = nslots;        obj->slots = newslots + 1;    }#ifdef TOO_MUCH_GC    obj->slots[map->freeslot] = JSVAL_VOID;#endif    *slotp = map->freeslot++;    return JS_TRUE;}