mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 812280 - Remove move32/movePtr overloads that take an Address. r=dvander
This commit is contained in:
parent
34db7ead87
commit
e2b2b12173
@ -850,9 +850,9 @@ CodeGenerator::visitCallGeneric(LCallGeneric *call)
|
||||
masm.branchIfFunctionIsNative(calleereg, &invoke);
|
||||
|
||||
// Knowing that calleereg is a non-native function, load the JSScript.
|
||||
masm.movePtr(Address(calleereg, offsetof(JSFunction, u.i.script_)), objreg);
|
||||
masm.loadPtr(Address(calleereg, offsetof(JSFunction, u.i.script_)), objreg);
|
||||
ExecutionMode executionMode = gen->info().executionMode();
|
||||
masm.movePtr(Address(objreg, ionOffset(executionMode)), objreg);
|
||||
masm.loadPtr(Address(objreg, ionOffset(executionMode)), objreg);
|
||||
|
||||
// Guard that the IonScript has been compiled.
|
||||
masm.branchPtr(Assembler::BelowOrEqual, objreg, ImmWord(ION_COMPILING_SCRIPT), &invoke);
|
||||
@ -872,8 +872,8 @@ CodeGenerator::visitCallGeneric(LCallGeneric *call)
|
||||
masm.j(Assembler::Above, &thunk);
|
||||
|
||||
// No argument fixup needed. Load the start of the target IonCode.
|
||||
masm.movePtr(Address(objreg, IonScript::offsetOfMethod()), objreg);
|
||||
masm.movePtr(Address(objreg, IonCode::offsetOfCode()), objreg);
|
||||
masm.loadPtr(Address(objreg, IonScript::offsetOfMethod()), objreg);
|
||||
masm.loadPtr(Address(objreg, IonCode::offsetOfCode()), objreg);
|
||||
masm.jump(&makeCall);
|
||||
|
||||
// Argument fixed needed. Load the ArgumentsRectifier.
|
||||
@ -881,7 +881,7 @@ CodeGenerator::visitCallGeneric(LCallGeneric *call)
|
||||
{
|
||||
JS_ASSERT(ArgumentsRectifierReg != objreg);
|
||||
masm.movePtr(ImmGCPtr(argumentsRectifier), objreg); // Necessary for GC marking.
|
||||
masm.movePtr(Address(objreg, IonCode::offsetOfCode()), objreg);
|
||||
masm.loadPtr(Address(objreg, IonCode::offsetOfCode()), objreg);
|
||||
masm.move32(Imm32(call->numStackArgs()), ArgumentsRectifierReg);
|
||||
}
|
||||
|
||||
@ -943,15 +943,15 @@ CodeGenerator::visitCallKnown(LCallKnown *call)
|
||||
}
|
||||
|
||||
// Knowing that calleereg is a non-native function, load the JSScript.
|
||||
masm.movePtr(Address(calleereg, offsetof(JSFunction, u.i.script_)), objreg);
|
||||
masm.movePtr(Address(objreg, ionOffset(executionMode)), objreg);
|
||||
masm.loadPtr(Address(calleereg, offsetof(JSFunction, u.i.script_)), objreg);
|
||||
masm.loadPtr(Address(objreg, ionOffset(executionMode)), objreg);
|
||||
|
||||
// Guard that the IonScript has been compiled.
|
||||
masm.branchPtr(Assembler::BelowOrEqual, objreg, ImmWord(ION_COMPILING_SCRIPT), &invoke);
|
||||
|
||||
// Load the start of the target IonCode.
|
||||
masm.movePtr(Address(objreg, IonScript::offsetOfMethod()), objreg);
|
||||
masm.movePtr(Address(objreg, IonCode::offsetOfCode()), objreg);
|
||||
masm.loadPtr(Address(objreg, IonScript::offsetOfMethod()), objreg);
|
||||
masm.loadPtr(Address(objreg, IonCode::offsetOfCode()), objreg);
|
||||
|
||||
// Nestle the StackPointer up to the argument vector.
|
||||
masm.freeStack(unusedStack);
|
||||
@ -1158,8 +1158,8 @@ CodeGenerator::visitApplyArgsGeneric(LApplyArgsGeneric *apply)
|
||||
}
|
||||
|
||||
// Knowing that calleereg is a non-native function, load the JSScript.
|
||||
masm.movePtr(Address(calleereg, offsetof(JSFunction, u.i.script_)), objreg);
|
||||
masm.movePtr(Address(objreg, ionOffset(executionMode)), objreg);
|
||||
masm.loadPtr(Address(calleereg, offsetof(JSFunction, u.i.script_)), objreg);
|
||||
masm.loadPtr(Address(objreg, ionOffset(executionMode)), objreg);
|
||||
|
||||
// Guard that the IonScript has been compiled.
|
||||
masm.branchPtr(Assembler::BelowOrEqual, objreg, ImmWord(ION_COMPILING_SCRIPT), &invoke);
|
||||
@ -1189,8 +1189,8 @@ CodeGenerator::visitApplyArgsGeneric(LApplyArgsGeneric *apply)
|
||||
|
||||
// No argument fixup needed. Load the start of the target IonCode.
|
||||
{
|
||||
masm.movePtr(Address(objreg, IonScript::offsetOfMethod()), objreg);
|
||||
masm.movePtr(Address(objreg, IonCode::offsetOfCode()), objreg);
|
||||
masm.loadPtr(Address(objreg, IonScript::offsetOfMethod()), objreg);
|
||||
masm.loadPtr(Address(objreg, IonCode::offsetOfCode()), objreg);
|
||||
|
||||
// Skip the construction of the rectifier frame because we have no
|
||||
// underflow.
|
||||
@ -1207,7 +1207,7 @@ CodeGenerator::visitApplyArgsGeneric(LApplyArgsGeneric *apply)
|
||||
|
||||
JS_ASSERT(ArgumentsRectifierReg != objreg);
|
||||
masm.movePtr(ImmGCPtr(argumentsRectifier), objreg); // Necessary for GC marking.
|
||||
masm.movePtr(Address(objreg, IonCode::offsetOfCode()), objreg);
|
||||
masm.loadPtr(Address(objreg, IonCode::offsetOfCode()), objreg);
|
||||
masm.movePtr(argcreg, ArgumentsRectifierReg);
|
||||
}
|
||||
|
||||
@ -1219,7 +1219,7 @@ CodeGenerator::visitApplyArgsGeneric(LApplyArgsGeneric *apply)
|
||||
return false;
|
||||
|
||||
// Recover the number of arguments from the frame descriptor.
|
||||
masm.movePtr(Address(StackPointer, 0), copyreg);
|
||||
masm.loadPtr(Address(StackPointer, 0), copyreg);
|
||||
masm.rshiftPtr(Imm32(FRAMESIZE_SHIFT), copyreg);
|
||||
masm.subPtr(Imm32(pushed), copyreg);
|
||||
|
||||
@ -2957,7 +2957,7 @@ CodeGenerator::visitArgumentsLength(LArgumentsLength *lir)
|
||||
Register argc = ToRegister(lir->output());
|
||||
Address ptr(StackPointer, frameSize() + IonJSFrameLayout::offsetOfNumActualArgs());
|
||||
|
||||
masm.movePtr(ptr, argc);
|
||||
masm.loadPtr(ptr, argc);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -426,7 +426,7 @@ MacroAssembler::maybeRemoveOsrFrame(Register scratch)
|
||||
// indicative of working inside an existing bailout. In this case, remove
|
||||
// the OSR frame, so we don't explode the stack with repeated bailouts.
|
||||
Label osrRemoved;
|
||||
movePtr(Address(StackPointer, IonCommonFrameLayout::offsetOfDescriptor()), scratch);
|
||||
loadPtr(Address(StackPointer, IonCommonFrameLayout::offsetOfDescriptor()), scratch);
|
||||
and32(Imm32(FRAMETYPE_MASK), scratch);
|
||||
branch32(Assembler::NotEqual, scratch, Imm32(IonFrame_Osr), &osrRemoved);
|
||||
addPtr(Imm32(sizeof(IonOsrFrameLayout)), StackPointer);
|
||||
|
@ -1482,11 +1482,6 @@ MacroAssemblerARMCompat::move32(const Imm32 &imm, const Register &dest)
|
||||
ma_mov(imm, dest);
|
||||
}
|
||||
void
|
||||
MacroAssemblerARMCompat::move32(const Address &src, const Register &dest)
|
||||
{
|
||||
movePtr(src, dest);
|
||||
}
|
||||
void
|
||||
MacroAssemblerARMCompat::movePtr(const Register &src, const Register &dest)
|
||||
{
|
||||
ma_mov(src, dest);
|
||||
@ -1502,11 +1497,6 @@ MacroAssemblerARMCompat::movePtr(const ImmGCPtr &imm, const Register &dest)
|
||||
ma_mov(imm, dest);
|
||||
}
|
||||
void
|
||||
MacroAssemblerARMCompat::movePtr(const Address &src, const Register &dest)
|
||||
{
|
||||
loadPtr(src, dest);
|
||||
}
|
||||
void
|
||||
MacroAssemblerARMCompat::load8ZeroExtend(const Address &address, const Register &dest)
|
||||
{
|
||||
ma_dataTransferN(IsLoad, 8, false, address.base, Imm32(address.offset), dest);
|
||||
|
@ -600,11 +600,11 @@ class MacroAssemblerARMCompat : public MacroAssemblerARM
|
||||
ma_b(label, cond);
|
||||
}
|
||||
void branch32(Condition cond, const Address &lhs, Register rhs, Label *label) {
|
||||
move32(lhs, ScratchRegister);
|
||||
load32(lhs, ScratchRegister);
|
||||
branch32(cond, ScratchRegister, rhs, label);
|
||||
}
|
||||
void branch32(Condition cond, const Address &lhs, Imm32 rhs, Label *label) {
|
||||
move32(lhs, ScratchRegister);
|
||||
load32(lhs, ScratchRegister);
|
||||
branch32(cond, ScratchRegister, rhs, label);
|
||||
}
|
||||
void branchPtr(Condition cond, const Address &lhs, Register rhs, Label *label) {
|
||||
@ -912,11 +912,9 @@ class MacroAssemblerARMCompat : public MacroAssemblerARM
|
||||
|
||||
void move32(const Imm32 &imm, const Register &dest);
|
||||
|
||||
void move32(const Address &src, const Register &dest);
|
||||
void movePtr(const Register &src, const Register &dest);
|
||||
void movePtr(const ImmWord &imm, const Register &dest);
|
||||
void movePtr(const ImmGCPtr &imm, const Register &dest);
|
||||
void movePtr(const Address &src, const Register &dest);
|
||||
|
||||
void load8SignExtend(const Address &address, const Register &dest);
|
||||
void load8SignExtend(const BaseIndex &src, const Register &dest);
|
||||
|
@ -64,9 +64,6 @@ class MacroAssemblerX86Shared : public Assembler
|
||||
j(ConditionFromDoubleCondition(cond), label);
|
||||
}
|
||||
|
||||
void move32(const Address &address, const Register &dest) {
|
||||
movl(Operand(address), dest);
|
||||
}
|
||||
void move32(const Imm32 &imm, const Register &dest) {
|
||||
if (imm.value == 0)
|
||||
xorl(dest, dest);
|
||||
|
@ -187,9 +187,6 @@ class MacroAssemblerX64 : public MacroAssemblerX86Shared
|
||||
push(ScratchReg);
|
||||
}
|
||||
|
||||
void movePtr(Operand op, const Register &dest) {
|
||||
movq(op, dest);
|
||||
}
|
||||
void moveValue(const Value &val, const Register &dest) {
|
||||
jsval_layout jv = JSVAL_TO_IMPL(val);
|
||||
movq(ImmWord(jv.asPtr), dest);
|
||||
@ -459,9 +456,6 @@ class MacroAssemblerX64 : public MacroAssemblerX86Shared
|
||||
void movePtr(ImmGCPtr imm, Register dest) {
|
||||
movq(imm, dest);
|
||||
}
|
||||
void movePtr(const Address &address, const Register &dest) {
|
||||
movq(Operand(address), dest);
|
||||
}
|
||||
void loadPtr(const AbsoluteAddress &address, Register dest) {
|
||||
movq(ImmWord(address.addr), ScratchReg);
|
||||
movq(Operand(ScratchReg, 0x0), dest);
|
||||
|
@ -195,12 +195,6 @@ class MacroAssemblerX86 : public MacroAssemblerX86Shared
|
||||
void movePtr(const Register &src, const Register &dest) {
|
||||
movl(src, dest);
|
||||
}
|
||||
void movePtr(Operand op, const Register &dest) {
|
||||
movl(op, dest);
|
||||
}
|
||||
void movePtr(const Address &src, const Register &dest) {
|
||||
movl(Operand(src), dest);
|
||||
}
|
||||
|
||||
// Returns the register containing the type tag.
|
||||
Register splitTagForTest(const ValueOperand &value) {
|
||||
|
Loading…
Reference in New Issue
Block a user