[INFER] Add recompilation rejoin points for SETELEM, bug 641535.

This commit is contained in:
Brian Hackett 2011-03-16 22:08:14 -07:00
parent 32ed3e9e97
commit 6d84d0e761
3 changed files with 12 additions and 0 deletions

View File

@ -0,0 +1,2 @@
var o = {};
o[o.p] = 2;

View File

@ -5025,6 +5025,11 @@ mjit::Compiler::jsop_setelem_slow()
INLINE_STUBCALL(STRICT_VARIANT(stubs::SetElem));
frame.popn(3);
frame.pushSynced(JSVAL_TYPE_UNKNOWN);
if (recompiling) {
OOL_STUBCALL(STRICT_VARIANT(ic::SetElement));
stubcc.rejoin(Changes(2));
}
}
void

View File

@ -1185,6 +1185,11 @@ mjit::Compiler::jsop_setelem_dense()
frame.freeReg(objReg);
frame.shimmy(2);
stubcc.rejoin(Changes(2));
if (recompiling) {
OOL_STUBCALL(STRICT_VARIANT(ic::SetElement));
stubcc.rejoin(Changes(2));
}
}
bool