Use inferred result type for initializer opcodes, bug 785358. r=dvander

This commit is contained in:
Brian Hackett 2012-08-29 13:10:35 -06:00
parent 57b4409267
commit 7d82b7a901

View File

@ -6748,7 +6748,7 @@ mjit::Compiler::jsop_newinit()
masm.storePtr(ImmPtr(type), FrameAddress(offsetof(VMFrame, scratch)));
masm.move(ImmPtr(stubArg), Registers::ArgReg1);
INLINE_STUBCALL(stub, REJOIN_FALLTHROUGH);
frame.pushSynced(JSVAL_TYPE_OBJECT);
frame.pushSynced(knownPushedType(0));
frame.extra(frame.peek(-1)).initArray = (*PC == JSOP_NEWARRAY);
frame.extra(frame.peek(-1)).initObject = baseobj;
@ -6775,7 +6775,7 @@ mjit::Compiler::jsop_newinit()
stubcc.masm.move(ImmPtr(stubArg), Registers::ArgReg1);
OOL_STUBCALL(stub, REJOIN_FALLTHROUGH);
frame.pushTypedPayload(JSVAL_TYPE_OBJECT, result);
frame.pushTypedPayload(knownPushedType(0), result);
stubcc.rejoin(Changes(1));