if (slot < MAXARGS(fp)) {
if (slot < fp->argc) {
js_GetArgsProperty(JSContext *cx, JSStackFrame *fp, jsid id,                   JSObject **objp, jsval *vp){    jsval val;    JSObject *obj;    uintN slot;    if (TEST_OVERRIDE_BIT(fp, CALL_ARGUMENTS)) {        JS_ASSERT(fp->callobj);        if (!OBJ_GET_PROPERTY(cx, fp->callobj,                              ATOM_TO_JSID(cx->runtime->atomState                                           .argumentsAtom),                              &val)) {            return JS_FALSE;        }        if (JSVAL_IS_PRIMITIVE(val)) {            obj = js_ValueToNonNullObject(cx, val);            if (!obj)                return JS_FALSE;        } else {            obj = JSVAL_TO_OBJECT(val);        }        *objp = obj;        return OBJ_GET_PROPERTY(cx, obj, id, vp);    }    *objp = NULL;    *vp = JSVAL_VOID;    if (JSID_IS_INT(id)) {        slot = (uintN) JSID_TO_INT(id);        if (slot < MAXARGS(fp)) {            if (fp->argsobj && ArgWasDeleted(cx, fp, slot))                return OBJ_GET_PROPERTY(cx, fp->argsobj, id, vp);            *vp = fp->argv[slot];        }    } else {        if (id == ATOM_TO_JSID(cx->runtime->atomState.lengthAtom)) {            if (fp->argsobj && TEST_OVERRIDE_BIT(fp, ARGS_LENGTH))                return OBJ_GET_PROPERTY(cx, fp->argsobj, id, vp);            *vp = INT_TO_JSVAL((jsint) fp->argc);        }    }    return JS_TRUE;}