[JAEGER] Merge.

This commit is contained in:
David Anderson
2010-06-12 19:16:33 -07:00
8 changed files with 149 additions and 47 deletions

View File

@@ -329,7 +329,7 @@ mjit::Compiler::generateMethod()
BEGIN_CASE(JSOP_SETRVAL)
{
FrameEntry *fe = frame.peek(-1);
frame.storeTo(fe, Address(Assembler::FpReg, offsetof(JSStackFrame, rval)), true);
frame.storeTo(fe, Address(JSFrameReg, offsetof(JSStackFrame, rval)), true);
frame.pop();
}
END_CASE(JSOP_POPV)
@@ -338,7 +338,7 @@ mjit::Compiler::generateMethod()
{
/* Safe point! */
FrameEntry *fe = frame.peek(-1);
frame.storeTo(fe, Address(Assembler::FpReg, offsetof(JSStackFrame, rval)), true);
frame.storeTo(fe, Address(JSFrameReg, offsetof(JSStackFrame, rval)), true);
frame.pop();
/* :TODO: We only have to forget things that are closed over... */
frame.forgetEverything();
@@ -869,7 +869,7 @@ mjit::Compiler::generateMethod()
bool popped = PC[JSOP_SETARG_LENGTH] == JSOP_POP;
RegisterID reg = frame.allocReg();
masm.loadPtr(Address(Assembler::FpReg, offsetof(JSStackFrame, argv)), reg);
masm.loadPtr(Address(JSFrameReg, offsetof(JSStackFrame, argv)), reg);
Address address = Address(reg, slot * sizeof(Value));
frame.storeTo(top, address, popped);
frame.freeReg(reg);
@@ -1057,7 +1057,7 @@ mjit::Compiler::generateMethod()
{
// :FIXME: x64
RegisterID reg = frame.allocReg();
masm.loadPtr(Address(Assembler::FpReg, offsetof(JSStackFrame, argv)), reg);
masm.loadPtr(Address(JSFrameReg, offsetof(JSStackFrame, argv)), reg);
masm.loadData32(Address(reg, int32(sizeof(Value)) * -2), reg);
masm.loadPtr(Address(reg, offsetof(JSObject, dslots)), reg);
frame.freeReg(reg);
@@ -1463,7 +1463,7 @@ mjit::Compiler::dispatchCall(VoidPtrStubUInt32 stub)
void
mjit::Compiler::restoreFrameRegs()
{
masm.loadPtr(FrameAddress(offsetof(VMFrame, fp)), Assembler::FpReg);
masm.loadPtr(FrameAddress(offsetof(VMFrame, fp)), JSFrameReg);
}
bool
@@ -1564,7 +1564,7 @@ void
mjit::Compiler::jsop_getarg(uint32 index)
{
RegisterID reg = frame.allocReg();
masm.loadPtr(Address(Assembler::FpReg, offsetof(JSStackFrame, argv)), reg);
masm.loadPtr(Address(JSFrameReg, offsetof(JSStackFrame, argv)), reg);
frame.freeReg(reg);
frame.push(Address(reg, index * sizeof(Value)));
}