зеркало из https://github.com/mozilla/gecko-dev.git
Bug 771320 - Use payloadOf/PAYLOAD_OFFSET when constructing PIC stubs. r=bhackett
This commit is contained in:
Родитель
d45421032d
Коммит
306266285b
|
@ -1056,8 +1056,11 @@ class GetPropCompiler : public PICStubCompiler
|
|||
int32_t idHandleOffset = (char *) (f.regs.sp + 1) - (char *) f.fp();
|
||||
int32_t objHandleOffset = (char *) (f.regs.sp + 2) - (char *) f.fp();
|
||||
|
||||
masm.storePtr(holdObjReg, Address(JSFrameReg, objHandleOffset));
|
||||
masm.storePtr(ImmPtr((void *) JSID_BITS(userid)), Address(JSFrameReg, idHandleOffset));
|
||||
/*
|
||||
* Make sure we handle endianness correctly.
|
||||
*/
|
||||
masm.storePtr(holdObjReg, masm.payloadOf(Address(JSFrameReg, objHandleOffset)));
|
||||
masm.storePtr(ImmPtr((void *) JSID_BITS(userid)), masm.payloadOf(Address(JSFrameReg, idHandleOffset)));
|
||||
|
||||
/*
|
||||
* On 32 bit platforms zero the upper portion of the values so that
|
||||
|
@ -1096,7 +1099,7 @@ class GetPropCompiler : public PICStubCompiler
|
|||
masm.restoreStackBase();
|
||||
masm.setupABICall(Registers::NormalCall, 4);
|
||||
masm.storeArg(3, t0);
|
||||
masm.addPtr(Imm32(idHandleOffset - vpOffset), t0);
|
||||
masm.addPtr(Imm32(idHandleOffset - vpOffset + Assembler::PAYLOAD_OFFSET), t0);
|
||||
masm.storeArg(2, t0);
|
||||
masm.addPtr(Imm32(objHandleOffset - idHandleOffset), t0);
|
||||
masm.storeArg(1, t0);
|
||||
|
|
|
@ -49,9 +49,9 @@ struct ImmPayload : Imm64
|
|||
|
||||
class PunboxAssembler : public JSC::MacroAssembler
|
||||
{
|
||||
public:
|
||||
static const uint32_t PAYLOAD_OFFSET = 0;
|
||||
|
||||
public:
|
||||
static const JSC::MacroAssembler::Scale JSVAL_SCALE = JSC::MacroAssembler::TimesEight;
|
||||
|
||||
template <typename T>
|
||||
|
|
Загрузка…
Ссылка в новой задаче