[JAEGER] Generalize operation callback mechanism and implement for methodjit, r=dvander

This commit is contained in:
Andrew Drake
2010-06-07 23:55:13 -07:00
parent 2cff66c873
commit 19699b6047
10 changed files with 71 additions and 12 deletions

View File

@@ -943,6 +943,19 @@ mjit::Compiler::generateMethod()
END_CASE(JSOP_NEWARRAY)
BEGIN_CASE(JSOP_TRACE)
{
if (analysis[PC].nincoming > 0) {
RegisterID cxreg = frame.allocReg();
masm.loadPtr(FrameAddress(offsetof(VMFrame, cx)), cxreg);
Address flag(cxreg, offsetof(JSContext, interruptFlags));
Jump jump = masm.branchTest32(Assembler::NonZero, flag);
frame.freeReg(cxreg);
stubcc.linkExit(jump);
stubcc.leave();
stubcc.call(stubs::Interrupt);
stubcc.rejoin(0);
}
}
END_CASE(JSOP_TRACE)
BEGIN_CASE(JSOP_CONCATN)