mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
[INFER] Always mark overflows for slowpath incops, bug 646594.
This commit is contained in:
parent
0efc0215e7
commit
47fe3ec386
@ -4174,7 +4174,7 @@ do_incop:
|
|||||||
goto error;
|
goto error;
|
||||||
if (!cx->typeMonitorAssign(obj, id, regs.sp[-1]))
|
if (!cx->typeMonitorAssign(obj, id, regs.sp[-1]))
|
||||||
goto error;
|
goto error;
|
||||||
if (!regs.sp[-1].isInt32() && !script->typeMonitorOverflow(cx, regs.pc))
|
if (!script->typeMonitorOverflow(cx, regs.pc))
|
||||||
goto error;
|
goto error;
|
||||||
regs.fp->setAssigning();
|
regs.fp->setAssigning();
|
||||||
JSBool ok = obj->setProperty(cx, id, ®s.sp[-1], script->strictModeCode);
|
JSBool ok = obj->setProperty(cx, id, ®s.sp[-1], script->strictModeCode);
|
||||||
@ -4248,7 +4248,7 @@ BEGIN_CASE(JSOP_LOCALINC)
|
|||||||
PUSH_COPY(*vp);
|
PUSH_COPY(*vp);
|
||||||
if (!js_DoIncDec(cx, &js_CodeSpec[op], ®s.sp[-1], vp))
|
if (!js_DoIncDec(cx, &js_CodeSpec[op], ®s.sp[-1], vp))
|
||||||
goto error;
|
goto error;
|
||||||
if (!vp->isInt32() && !script->typeMonitorOverflow(cx, regs.pc))
|
if (!script->typeMonitorOverflow(cx, regs.pc))
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
len = JSOP_INCARG_LENGTH;
|
len = JSOP_INCARG_LENGTH;
|
||||||
|
@ -1691,7 +1691,8 @@ ObjIncOp(VMFrame &f, JSObject *obj, jsid id)
|
|||||||
d += N;
|
d += N;
|
||||||
ref.setNumber(d);
|
ref.setNumber(d);
|
||||||
}
|
}
|
||||||
if (!v.setNumber(d) && !f.script()->typeMonitorOverflow(cx, f.pc()))
|
v.setNumber(d);
|
||||||
|
if (!f.script()->typeMonitorOverflow(cx, f.pc()))
|
||||||
return false;
|
return false;
|
||||||
if (!cx->typeMonitorAssign(obj, id, v))
|
if (!cx->typeMonitorAssign(obj, id, v))
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user