[JAEGER] Added JSOP_ELEMINC,ELEMDEC,INCELEM,DECELEM.

This commit is contained in:
David Anderson
2010-06-10 23:10:15 -07:00
parent 9f364ec12d
commit 381cb0984a
4 changed files with 86 additions and 0 deletions

View File

@@ -571,6 +571,10 @@ mjit::Compiler::generateMethod()
jsop_propinc(op, stubs::IncProp, fullAtomIndex(PC));
END_CASE(JSOP_INCPROP)
BEGIN_CASE(JSOP_INCELEM)
jsop_eleminc(op, stubs::IncElem);
END_CASE(JSOP_INCELEM)
BEGIN_CASE(JSOP_DECNAME)
jsop_nameinc(op, stubs::DecName, fullAtomIndex(PC));
END_CASE(JSOP_DECNAME)
@@ -579,6 +583,10 @@ mjit::Compiler::generateMethod()
jsop_propinc(op, stubs::DecProp, fullAtomIndex(PC));
END_CASE(JSOP_DECPROP)
BEGIN_CASE(JSOP_DECELEM)
jsop_eleminc(op, stubs::DecElem);
END_CASE(JSOP_DECELEM)
BEGIN_CASE(JSOP_NAMEINC)
jsop_nameinc(op, stubs::NameInc, fullAtomIndex(PC));
END_CASE(JSOP_NAMEINC)
@@ -587,6 +595,10 @@ mjit::Compiler::generateMethod()
jsop_propinc(op, stubs::PropInc, fullAtomIndex(PC));
END_CASE(JSOP_PROPINC)
BEGIN_CASE(JSOP_ELEMINC)
jsop_eleminc(op, stubs::ElemInc);
END_CASE(JSOP_ELEMINC)
BEGIN_CASE(JSOP_NAMEDEC)
jsop_nameinc(op, stubs::NameDec, fullAtomIndex(PC));
END_CASE(JSOP_NAMEDEC)
@@ -595,6 +607,10 @@ mjit::Compiler::generateMethod()
jsop_propinc(op, stubs::PropDec, fullAtomIndex(PC));
END_CASE(JSOP_PROPDEC)
BEGIN_CASE(JSOP_ELEMDEC)
jsop_eleminc(op, stubs::ElemDec);
END_CASE(JSOP_ELEMDEC)
BEGIN_CASE(JSOP_GETTHISPROP)
/* Push thisv onto stack. */
jsop_this();
@@ -1699,3 +1715,12 @@ mjit::Compiler::iterMore()
stubcc.rejoin(0);
}
void
mjit::Compiler::jsop_eleminc(JSOp op, VoidStub stub)
{
prepareStubCall();
stubCall(stub, Uses(2), Defs(1));
frame.popn(2);
frame.pushSynced();
}