ok = js_Invoke(cx, argc, JSINVOKE_INTERNAL);
ok = js_Invoke(cx, argc, flags | JSINVOKE_INTERNAL);
js_InternalCall(JSContext *cx, JSObject *obj, jsval fval,		uintN argc, jsval *argv, jsval *rval){    JSStackFrame *fp, *oldfp, frame;    jsval *oldsp, *sp;    void *mark;    uintN i;    JSBool ok;    fp = oldfp = cx->fp;    if (!fp) {	memset(&frame, 0, sizeof frame);	cx->fp = fp = &frame;    }    oldsp = fp->sp;    sp = js_AllocStack(cx, 2 + argc, &mark);    if (!sp) {	ok = JS_FALSE;	goto out;    }    fp->sp = sp;    PUSH(fval);    PUSH(OBJECT_TO_JSVAL(obj));    for (i = 0; i < argc; i++)	PUSH(argv[i]);    SAVE_SP(fp);    ok = js_Invoke(cx, argc, JSINVOKE_INTERNAL);    if (ok) {	RESTORE_SP(fp);	*rval = POP();    }    js_FreeStack(cx, mark);out:    fp->sp = oldsp;    if (oldfp != fp)	cx->fp = oldfp;    return ok;}