зеркало из https://github.com/mozilla/gecko-dev.git
Backout bug 420426 due to regressions
This commit is contained in:
Родитель
fe95cf0cc7
Коммит
d44a08c364
|
@ -4202,13 +4202,10 @@ interrupt:
|
||||||
: !OBJ_GET_PROPERTY(cx, obj, id, &rval)) {
|
: !OBJ_GET_PROPERTY(cx, obj, id, &rval)) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Assert that we can avoid calling ComputeThis. */
|
|
||||||
JS_ASSERT(OBJ_GET_CLASS(cx, obj) != &js_CallClass);
|
|
||||||
JS_ASSERT(!obj->map->ops->thisObject);
|
|
||||||
|
|
||||||
STORE_OPND(-1, OBJECT_TO_JSVAL(obj));
|
STORE_OPND(-1, OBJECT_TO_JSVAL(obj));
|
||||||
STORE_OPND(-2, rval);
|
STORE_OPND(-2, rval);
|
||||||
|
if (!ComputeThis(cx, JS_FALSE, sp))
|
||||||
|
goto error;
|
||||||
} else {
|
} else {
|
||||||
JS_ASSERT(obj->map->ops->getProperty == js_GetProperty);
|
JS_ASSERT(obj->map->ops->getProperty == js_GetProperty);
|
||||||
if (!js_GetPropertyHelper(cx, obj, id, &rval, &entry))
|
if (!js_GetPropertyHelper(cx, obj, id, &rval, &entry))
|
||||||
|
@ -4891,8 +4888,12 @@ interrupt:
|
||||||
|
|
||||||
do_push_rval:
|
do_push_rval:
|
||||||
PUSH_OPND(rval);
|
PUSH_OPND(rval);
|
||||||
if (op == JSOP_CALLNAME)
|
if (op == JSOP_CALLNAME) {
|
||||||
PUSH_OPND(OBJECT_TO_JSVAL(obj));
|
PUSH_OPND(OBJECT_TO_JSVAL(obj));
|
||||||
|
SAVE_SP(fp);
|
||||||
|
if (!ComputeThis(cx, JS_FALSE, sp))
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
END_CASE(JSOP_NAME)
|
END_CASE(JSOP_NAME)
|
||||||
|
|
||||||
|
@ -5088,12 +5089,6 @@ interrupt:
|
||||||
if (!obj)
|
if (!obj)
|
||||||
goto error;
|
goto error;
|
||||||
fp->thisp = obj;
|
fp->thisp = obj;
|
||||||
} else {
|
|
||||||
/* |this| must be an outer object by definition. */
|
|
||||||
OBJ_TO_OUTER_OBJECT(cx, obj);
|
|
||||||
if (!obj)
|
|
||||||
goto error;
|
|
||||||
fp->thisp = obj;
|
|
||||||
}
|
}
|
||||||
PUSH_OPND(OBJECT_TO_JSVAL(obj));
|
PUSH_OPND(OBJECT_TO_JSVAL(obj));
|
||||||
END_CASE(JSOP_THIS)
|
END_CASE(JSOP_THIS)
|
||||||
|
@ -6321,8 +6316,10 @@ interrupt:
|
||||||
goto error;
|
goto error;
|
||||||
STORE_OPND(-1, rval);
|
STORE_OPND(-1, rval);
|
||||||
if (op == JSOP_CALLXMLNAME) {
|
if (op == JSOP_CALLXMLNAME) {
|
||||||
JS_ASSERT(OBJECT_IS_XML(cx, obj));
|
|
||||||
PUSH_OPND(OBJECT_TO_JSVAL(obj));
|
PUSH_OPND(OBJECT_TO_JSVAL(obj));
|
||||||
|
SAVE_SP(fp);
|
||||||
|
if (!ComputeThis(cx, JS_FALSE, sp))
|
||||||
|
goto error;
|
||||||
}
|
}
|
||||||
END_CASE(JSOP_XMLNAME)
|
END_CASE(JSOP_XMLNAME)
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче