[cleanup] Unify {AreAliased} predicates.
R=sigurds@chromium.org Change-Id: I1ca0e215da36400a8817bc8c8912ccfde8eca613 Reviewed-on: https://chromium-review.googlesource.com/1166911 Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54973}
This commit is contained in:
parent
e60b983bae
commit
da3c2db949
@ -2397,34 +2397,6 @@ Register GetRegisterThatIsNotOneOf(Register reg1,
|
||||
UNREACHABLE();
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
bool AreAliased(Register reg1,
|
||||
Register reg2,
|
||||
Register reg3,
|
||||
Register reg4,
|
||||
Register reg5,
|
||||
Register reg6,
|
||||
Register reg7,
|
||||
Register reg8) {
|
||||
int n_of_valid_regs = reg1.is_valid() + reg2.is_valid() +
|
||||
reg3.is_valid() + reg4.is_valid() + reg5.is_valid() + reg6.is_valid() +
|
||||
reg7.is_valid() + reg8.is_valid();
|
||||
|
||||
RegList regs = 0;
|
||||
if (reg1.is_valid()) regs |= reg1.bit();
|
||||
if (reg2.is_valid()) regs |= reg2.bit();
|
||||
if (reg3.is_valid()) regs |= reg3.bit();
|
||||
if (reg4.is_valid()) regs |= reg4.bit();
|
||||
if (reg5.is_valid()) regs |= reg5.bit();
|
||||
if (reg6.is_valid()) regs |= reg6.bit();
|
||||
if (reg7.is_valid()) regs |= reg7.bit();
|
||||
if (reg8.is_valid()) regs |= reg8.bit();
|
||||
int n_of_non_aliasing_regs = NumRegs(regs);
|
||||
|
||||
return n_of_valid_regs != n_of_non_aliasing_regs;
|
||||
}
|
||||
#endif
|
||||
|
||||
void TurboAssembler::ComputeCodeStartAddress(Register dst) {
|
||||
// We can use the register pc - 8 for the address of the current instruction.
|
||||
sub(dst, pc, Operand(pc_offset() + Instruction::kPcLoadDelta));
|
||||
|
@ -63,19 +63,6 @@ Register GetRegisterThatIsNotOneOf(Register reg1,
|
||||
Register reg5 = no_reg,
|
||||
Register reg6 = no_reg);
|
||||
|
||||
|
||||
#ifdef DEBUG
|
||||
bool AreAliased(Register reg1,
|
||||
Register reg2,
|
||||
Register reg3 = no_reg,
|
||||
Register reg4 = no_reg,
|
||||
Register reg5 = no_reg,
|
||||
Register reg6 = no_reg,
|
||||
Register reg7 = no_reg,
|
||||
Register reg8 = no_reg);
|
||||
#endif
|
||||
|
||||
|
||||
enum TargetAddressStorageMode {
|
||||
CAN_INLINE_TARGET_ADDRESS,
|
||||
NEVER_INLINE_TARGET_ADDRESS
|
||||
|
@ -407,6 +407,7 @@ constexpr Register NoReg = Register::no_reg();
|
||||
constexpr VRegister NoVReg = VRegister::no_reg();
|
||||
constexpr CPURegister NoCPUReg = CPURegister::no_reg();
|
||||
constexpr Register no_reg = NoReg;
|
||||
constexpr VRegister no_dreg = NoVReg;
|
||||
|
||||
#define DEFINE_REGISTER(register_class, name, ...) \
|
||||
constexpr register_class name = register_class::Create<__VA_ARGS__>()
|
||||
|
@ -141,6 +141,7 @@ typedef XMMRegister Simd128Register;
|
||||
DOUBLE_REGISTERS(DEFINE_REGISTER)
|
||||
#undef DEFINE_REGISTER
|
||||
constexpr DoubleRegister no_double_reg = DoubleRegister::no_reg();
|
||||
constexpr DoubleRegister no_dreg = DoubleRegister::no_reg();
|
||||
|
||||
// Note that the bit values must match those used in actual instruction encoding
|
||||
constexpr int kNumRegs = 8;
|
||||
|
@ -1708,35 +1708,6 @@ void TurboAssembler::RetpolineJump(Register reg) {
|
||||
ret(0);
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
bool AreAliased(Register reg1,
|
||||
Register reg2,
|
||||
Register reg3,
|
||||
Register reg4,
|
||||
Register reg5,
|
||||
Register reg6,
|
||||
Register reg7,
|
||||
Register reg8) {
|
||||
int n_of_valid_regs = reg1.is_valid() + reg2.is_valid() +
|
||||
reg3.is_valid() + reg4.is_valid() + reg5.is_valid() + reg6.is_valid() +
|
||||
reg7.is_valid() + reg8.is_valid();
|
||||
|
||||
RegList regs = 0;
|
||||
if (reg1.is_valid()) regs |= reg1.bit();
|
||||
if (reg2.is_valid()) regs |= reg2.bit();
|
||||
if (reg3.is_valid()) regs |= reg3.bit();
|
||||
if (reg4.is_valid()) regs |= reg4.bit();
|
||||
if (reg5.is_valid()) regs |= reg5.bit();
|
||||
if (reg6.is_valid()) regs |= reg6.bit();
|
||||
if (reg7.is_valid()) regs |= reg7.bit();
|
||||
if (reg8.is_valid()) regs |= reg8.bit();
|
||||
int n_of_non_aliasing_regs = NumRegs(regs);
|
||||
|
||||
return n_of_valid_regs != n_of_non_aliasing_regs;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
void TurboAssembler::CheckPageFlag(Register object, Register scratch, int mask,
|
||||
Condition cc, Label* condition_met,
|
||||
Label::Distance condition_met_distance) {
|
||||
|
@ -45,13 +45,6 @@ typedef Operand MemOperand;
|
||||
enum RememberedSetAction { EMIT_REMEMBERED_SET, OMIT_REMEMBERED_SET };
|
||||
enum SmiCheck { INLINE_SMI_CHECK, OMIT_SMI_CHECK };
|
||||
|
||||
#ifdef DEBUG
|
||||
bool AreAliased(Register reg1, Register reg2, Register reg3 = no_reg,
|
||||
Register reg4 = no_reg, Register reg5 = no_reg,
|
||||
Register reg6 = no_reg, Register reg7 = no_reg,
|
||||
Register reg8 = no_reg);
|
||||
#endif
|
||||
|
||||
class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase {
|
||||
public:
|
||||
TurboAssembler(Isolate* isolate, const AssemblerOptions& options,
|
||||
|
@ -305,6 +305,7 @@ DOUBLE_REGISTERS(DECLARE_DOUBLE_REGISTER)
|
||||
#undef DECLARE_DOUBLE_REGISTER
|
||||
|
||||
constexpr DoubleRegister no_freg = DoubleRegister::no_reg();
|
||||
constexpr DoubleRegister no_dreg = DoubleRegister::no_reg();
|
||||
|
||||
// SIMD registers.
|
||||
typedef MSARegister Simd128Register;
|
||||
|
@ -5409,30 +5409,6 @@ Register GetRegisterThatIsNotOneOf(Register reg1,
|
||||
UNREACHABLE();
|
||||
}
|
||||
|
||||
bool AreAliased(Register reg1, Register reg2, Register reg3, Register reg4,
|
||||
Register reg5, Register reg6, Register reg7, Register reg8,
|
||||
Register reg9, Register reg10) {
|
||||
int n_of_valid_regs = reg1.is_valid() + reg2.is_valid() + reg3.is_valid() +
|
||||
reg4.is_valid() + reg5.is_valid() + reg6.is_valid() +
|
||||
reg7.is_valid() + reg8.is_valid() + reg9.is_valid() +
|
||||
reg10.is_valid();
|
||||
|
||||
RegList regs = 0;
|
||||
if (reg1.is_valid()) regs |= reg1.bit();
|
||||
if (reg2.is_valid()) regs |= reg2.bit();
|
||||
if (reg3.is_valid()) regs |= reg3.bit();
|
||||
if (reg4.is_valid()) regs |= reg4.bit();
|
||||
if (reg5.is_valid()) regs |= reg5.bit();
|
||||
if (reg6.is_valid()) regs |= reg6.bit();
|
||||
if (reg7.is_valid()) regs |= reg7.bit();
|
||||
if (reg8.is_valid()) regs |= reg8.bit();
|
||||
if (reg9.is_valid()) regs |= reg9.bit();
|
||||
if (reg10.is_valid()) regs |= reg10.bit();
|
||||
int n_of_non_aliasing_regs = NumRegs(regs);
|
||||
|
||||
return n_of_valid_regs != n_of_non_aliasing_regs;
|
||||
}
|
||||
|
||||
void TurboAssembler::ComputeCodeStartAddress(Register dst) {
|
||||
// This push on ra and the pop below together ensure that we restore the
|
||||
// register ra, which is needed while computing the code start address.
|
||||
|
@ -87,13 +87,6 @@ Register GetRegisterThatIsNotOneOf(Register reg1,
|
||||
Register reg5 = no_reg,
|
||||
Register reg6 = no_reg);
|
||||
|
||||
bool AreAliased(Register reg1, Register reg2, Register reg3 = no_reg,
|
||||
Register reg4 = no_reg, Register reg5 = no_reg,
|
||||
Register reg6 = no_reg, Register reg7 = no_reg,
|
||||
Register reg8 = no_reg, Register reg9 = no_reg,
|
||||
Register reg10 = no_reg);
|
||||
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Static helper functions.
|
||||
|
||||
|
@ -310,6 +310,7 @@ DOUBLE_REGISTERS(DECLARE_DOUBLE_REGISTER)
|
||||
#undef DECLARE_DOUBLE_REGISTER
|
||||
|
||||
constexpr DoubleRegister no_freg = DoubleRegister::no_reg();
|
||||
constexpr DoubleRegister no_dreg = DoubleRegister::no_reg();
|
||||
|
||||
// SIMD registers.
|
||||
typedef MSARegister Simd128Register;
|
||||
|
@ -5806,30 +5806,6 @@ Register GetRegisterThatIsNotOneOf(Register reg1,
|
||||
UNREACHABLE();
|
||||
}
|
||||
|
||||
bool AreAliased(Register reg1, Register reg2, Register reg3, Register reg4,
|
||||
Register reg5, Register reg6, Register reg7, Register reg8,
|
||||
Register reg9, Register reg10) {
|
||||
int n_of_valid_regs = reg1.is_valid() + reg2.is_valid() + reg3.is_valid() +
|
||||
reg4.is_valid() + reg5.is_valid() + reg6.is_valid() +
|
||||
reg7.is_valid() + reg8.is_valid() + reg9.is_valid() +
|
||||
reg10.is_valid();
|
||||
|
||||
RegList regs = 0;
|
||||
if (reg1.is_valid()) regs |= reg1.bit();
|
||||
if (reg2.is_valid()) regs |= reg2.bit();
|
||||
if (reg3.is_valid()) regs |= reg3.bit();
|
||||
if (reg4.is_valid()) regs |= reg4.bit();
|
||||
if (reg5.is_valid()) regs |= reg5.bit();
|
||||
if (reg6.is_valid()) regs |= reg6.bit();
|
||||
if (reg7.is_valid()) regs |= reg7.bit();
|
||||
if (reg8.is_valid()) regs |= reg8.bit();
|
||||
if (reg9.is_valid()) regs |= reg9.bit();
|
||||
if (reg10.is_valid()) regs |= reg10.bit();
|
||||
int n_of_non_aliasing_regs = NumRegs(regs);
|
||||
|
||||
return n_of_valid_regs != n_of_non_aliasing_regs;
|
||||
}
|
||||
|
||||
void TurboAssembler::ComputeCodeStartAddress(Register dst) {
|
||||
// This push on ra and the pop below together ensure that we restore the
|
||||
// register ra, which is needed while computing the code start address.
|
||||
|
@ -94,13 +94,6 @@ Register GetRegisterThatIsNotOneOf(Register reg1,
|
||||
Register reg5 = no_reg,
|
||||
Register reg6 = no_reg);
|
||||
|
||||
bool AreAliased(Register reg1, Register reg2, Register reg3 = no_reg,
|
||||
Register reg4 = no_reg, Register reg5 = no_reg,
|
||||
Register reg6 = no_reg, Register reg7 = no_reg,
|
||||
Register reg8 = no_reg, Register reg9 = no_reg,
|
||||
Register reg10 = no_reg);
|
||||
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Static helper functions.
|
||||
|
||||
|
@ -2978,57 +2978,6 @@ void TurboAssembler::SwapDouble(MemOperand src, MemOperand dst,
|
||||
StoreDouble(scratch_1, src, r0);
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
bool AreAliased(Register reg1, Register reg2, Register reg3, Register reg4,
|
||||
Register reg5, Register reg6, Register reg7, Register reg8,
|
||||
Register reg9, Register reg10) {
|
||||
int n_of_valid_regs = reg1.is_valid() + reg2.is_valid() + reg3.is_valid() +
|
||||
reg4.is_valid() + reg5.is_valid() + reg6.is_valid() +
|
||||
reg7.is_valid() + reg8.is_valid() + reg9.is_valid() +
|
||||
reg10.is_valid();
|
||||
|
||||
RegList regs = 0;
|
||||
if (reg1.is_valid()) regs |= reg1.bit();
|
||||
if (reg2.is_valid()) regs |= reg2.bit();
|
||||
if (reg3.is_valid()) regs |= reg3.bit();
|
||||
if (reg4.is_valid()) regs |= reg4.bit();
|
||||
if (reg5.is_valid()) regs |= reg5.bit();
|
||||
if (reg6.is_valid()) regs |= reg6.bit();
|
||||
if (reg7.is_valid()) regs |= reg7.bit();
|
||||
if (reg8.is_valid()) regs |= reg8.bit();
|
||||
if (reg9.is_valid()) regs |= reg9.bit();
|
||||
if (reg10.is_valid()) regs |= reg10.bit();
|
||||
int n_of_non_aliasing_regs = NumRegs(regs);
|
||||
|
||||
return n_of_valid_regs != n_of_non_aliasing_regs;
|
||||
}
|
||||
|
||||
bool AreAliased(DoubleRegister reg1, DoubleRegister reg2, DoubleRegister reg3,
|
||||
DoubleRegister reg4, DoubleRegister reg5, DoubleRegister reg6,
|
||||
DoubleRegister reg7, DoubleRegister reg8, DoubleRegister reg9,
|
||||
DoubleRegister reg10) {
|
||||
int n_of_valid_regs = reg1.is_valid() + reg2.is_valid() + reg3.is_valid() +
|
||||
reg4.is_valid() + reg5.is_valid() + reg6.is_valid() +
|
||||
reg7.is_valid() + reg8.is_valid() + reg9.is_valid() +
|
||||
reg10.is_valid();
|
||||
|
||||
RegList regs = 0;
|
||||
if (reg1.is_valid()) regs |= reg1.bit();
|
||||
if (reg2.is_valid()) regs |= reg2.bit();
|
||||
if (reg3.is_valid()) regs |= reg3.bit();
|
||||
if (reg4.is_valid()) regs |= reg4.bit();
|
||||
if (reg5.is_valid()) regs |= reg5.bit();
|
||||
if (reg6.is_valid()) regs |= reg6.bit();
|
||||
if (reg7.is_valid()) regs |= reg7.bit();
|
||||
if (reg8.is_valid()) regs |= reg8.bit();
|
||||
if (reg9.is_valid()) regs |= reg9.bit();
|
||||
if (reg10.is_valid()) regs |= reg10.bit();
|
||||
int n_of_non_aliasing_regs = NumRegs(regs);
|
||||
|
||||
return n_of_valid_regs != n_of_non_aliasing_regs;
|
||||
}
|
||||
#endif
|
||||
|
||||
void TurboAssembler::ResetSpeculationPoisonRegister() {
|
||||
mov(kSpeculationPoisonRegister, Operand(-1));
|
||||
}
|
||||
|
@ -58,20 +58,6 @@ Register GetRegisterThatIsNotOneOf(Register reg1, Register reg2 = no_reg,
|
||||
Register reg5 = no_reg,
|
||||
Register reg6 = no_reg);
|
||||
|
||||
|
||||
#ifdef DEBUG
|
||||
bool AreAliased(Register reg1, Register reg2, Register reg3 = no_reg,
|
||||
Register reg4 = no_reg, Register reg5 = no_reg,
|
||||
Register reg6 = no_reg, Register reg7 = no_reg,
|
||||
Register reg8 = no_reg, Register reg9 = no_reg,
|
||||
Register reg10 = no_reg);
|
||||
bool AreAliased(DoubleRegister reg1, DoubleRegister reg2,
|
||||
DoubleRegister reg3 = no_dreg, DoubleRegister reg4 = no_dreg,
|
||||
DoubleRegister reg5 = no_dreg, DoubleRegister reg6 = no_dreg,
|
||||
DoubleRegister reg7 = no_dreg, DoubleRegister reg8 = no_dreg,
|
||||
DoubleRegister reg9 = no_dreg, DoubleRegister reg10 = no_dreg);
|
||||
#endif
|
||||
|
||||
// These exist to provide portability between 32 and 64bit
|
||||
#if V8_TARGET_ARCH_PPC64
|
||||
#define LoadPX ldx
|
||||
|
@ -4363,56 +4363,6 @@ void TurboAssembler::SwapDouble(MemOperand src, MemOperand dst,
|
||||
StoreDouble(scratch_1, src);
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
bool AreAliased(Register reg1, Register reg2, Register reg3, Register reg4,
|
||||
Register reg5, Register reg6, Register reg7, Register reg8,
|
||||
Register reg9, Register reg10) {
|
||||
int n_of_valid_regs = reg1.is_valid() + reg2.is_valid() + reg3.is_valid() +
|
||||
reg4.is_valid() + reg5.is_valid() + reg6.is_valid() +
|
||||
reg7.is_valid() + reg8.is_valid() + reg9.is_valid() +
|
||||
reg10.is_valid();
|
||||
|
||||
RegList regs = 0;
|
||||
if (reg1.is_valid()) regs |= reg1.bit();
|
||||
if (reg2.is_valid()) regs |= reg2.bit();
|
||||
if (reg3.is_valid()) regs |= reg3.bit();
|
||||
if (reg4.is_valid()) regs |= reg4.bit();
|
||||
if (reg5.is_valid()) regs |= reg5.bit();
|
||||
if (reg6.is_valid()) regs |= reg6.bit();
|
||||
if (reg7.is_valid()) regs |= reg7.bit();
|
||||
if (reg8.is_valid()) regs |= reg8.bit();
|
||||
if (reg9.is_valid()) regs |= reg9.bit();
|
||||
if (reg10.is_valid()) regs |= reg10.bit();
|
||||
int n_of_non_aliasing_regs = NumRegs(regs);
|
||||
|
||||
return n_of_valid_regs != n_of_non_aliasing_regs;
|
||||
}
|
||||
bool AreAliased(DoubleRegister reg1, DoubleRegister reg2, DoubleRegister reg3,
|
||||
DoubleRegister reg4, DoubleRegister reg5, DoubleRegister reg6,
|
||||
DoubleRegister reg7, DoubleRegister reg8, DoubleRegister reg9,
|
||||
DoubleRegister reg10) {
|
||||
int n_of_valid_regs = reg1.is_valid() + reg2.is_valid() + reg3.is_valid() +
|
||||
reg4.is_valid() + reg5.is_valid() + reg6.is_valid() +
|
||||
reg7.is_valid() + reg8.is_valid() + reg9.is_valid() +
|
||||
reg10.is_valid();
|
||||
|
||||
RegList regs = 0;
|
||||
if (reg1.is_valid()) regs |= reg1.bit();
|
||||
if (reg2.is_valid()) regs |= reg2.bit();
|
||||
if (reg3.is_valid()) regs |= reg3.bit();
|
||||
if (reg4.is_valid()) regs |= reg4.bit();
|
||||
if (reg5.is_valid()) regs |= reg5.bit();
|
||||
if (reg6.is_valid()) regs |= reg6.bit();
|
||||
if (reg7.is_valid()) regs |= reg7.bit();
|
||||
if (reg8.is_valid()) regs |= reg8.bit();
|
||||
if (reg9.is_valid()) regs |= reg9.bit();
|
||||
if (reg10.is_valid()) regs |= reg10.bit();
|
||||
int n_of_non_aliasing_regs = NumRegs(regs);
|
||||
|
||||
return n_of_valid_regs != n_of_non_aliasing_regs;
|
||||
}
|
||||
#endif
|
||||
|
||||
void TurboAssembler::ResetSpeculationPoisonRegister() {
|
||||
mov(kSpeculationPoisonRegister, Operand(-1));
|
||||
}
|
||||
|
@ -66,19 +66,6 @@ Register GetRegisterThatIsNotOneOf(Register reg1, Register reg2 = no_reg,
|
||||
Register reg5 = no_reg,
|
||||
Register reg6 = no_reg);
|
||||
|
||||
#ifdef DEBUG
|
||||
bool AreAliased(Register reg1, Register reg2, Register reg3 = no_reg,
|
||||
Register reg4 = no_reg, Register reg5 = no_reg,
|
||||
Register reg6 = no_reg, Register reg7 = no_reg,
|
||||
Register reg8 = no_reg, Register reg9 = no_reg,
|
||||
Register reg10 = no_reg);
|
||||
bool AreAliased(DoubleRegister reg1, DoubleRegister reg2,
|
||||
DoubleRegister reg3 = no_dreg, DoubleRegister reg4 = no_dreg,
|
||||
DoubleRegister reg5 = no_dreg, DoubleRegister reg6 = no_dreg,
|
||||
DoubleRegister reg7 = no_dreg, DoubleRegister reg8 = no_dreg,
|
||||
DoubleRegister reg9 = no_dreg, DoubleRegister reg10 = no_dreg);
|
||||
#endif
|
||||
|
||||
// These exist to provide portability between 32 and 64bit
|
||||
#if V8_TARGET_ARCH_S390X
|
||||
#define Div divd
|
||||
|
@ -130,5 +130,58 @@ void TurboAssemblerBase::RecordCommentForOffHeapTrampoline(int builtin_index) {
|
||||
RecordComment(buffer_start);
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
|
||||
bool AreAliased(Register reg1, Register reg2, Register reg3, Register reg4,
|
||||
Register reg5, Register reg6, Register reg7, Register reg8,
|
||||
Register reg9, Register reg10) {
|
||||
int n_of_valid_regs = reg1.is_valid() + reg2.is_valid() + reg3.is_valid() +
|
||||
reg4.is_valid() + reg5.is_valid() + reg6.is_valid() +
|
||||
reg7.is_valid() + reg8.is_valid() + reg9.is_valid() +
|
||||
reg10.is_valid();
|
||||
|
||||
RegList regs = 0;
|
||||
if (reg1.is_valid()) regs |= reg1.bit();
|
||||
if (reg2.is_valid()) regs |= reg2.bit();
|
||||
if (reg3.is_valid()) regs |= reg3.bit();
|
||||
if (reg4.is_valid()) regs |= reg4.bit();
|
||||
if (reg5.is_valid()) regs |= reg5.bit();
|
||||
if (reg6.is_valid()) regs |= reg6.bit();
|
||||
if (reg7.is_valid()) regs |= reg7.bit();
|
||||
if (reg8.is_valid()) regs |= reg8.bit();
|
||||
if (reg9.is_valid()) regs |= reg9.bit();
|
||||
if (reg10.is_valid()) regs |= reg10.bit();
|
||||
int n_of_non_aliasing_regs = NumRegs(regs);
|
||||
|
||||
return n_of_valid_regs != n_of_non_aliasing_regs;
|
||||
}
|
||||
|
||||
bool AreAliased(DoubleRegister reg1, DoubleRegister reg2, DoubleRegister reg3,
|
||||
DoubleRegister reg4, DoubleRegister reg5, DoubleRegister reg6,
|
||||
DoubleRegister reg7, DoubleRegister reg8, DoubleRegister reg9,
|
||||
DoubleRegister reg10) {
|
||||
int n_of_valid_regs = reg1.is_valid() + reg2.is_valid() + reg3.is_valid() +
|
||||
reg4.is_valid() + reg5.is_valid() + reg6.is_valid() +
|
||||
reg7.is_valid() + reg8.is_valid() + reg9.is_valid() +
|
||||
reg10.is_valid();
|
||||
|
||||
RegList regs = 0;
|
||||
if (reg1.is_valid()) regs |= reg1.bit();
|
||||
if (reg2.is_valid()) regs |= reg2.bit();
|
||||
if (reg3.is_valid()) regs |= reg3.bit();
|
||||
if (reg4.is_valid()) regs |= reg4.bit();
|
||||
if (reg5.is_valid()) regs |= reg5.bit();
|
||||
if (reg6.is_valid()) regs |= reg6.bit();
|
||||
if (reg7.is_valid()) regs |= reg7.bit();
|
||||
if (reg8.is_valid()) regs |= reg8.bit();
|
||||
if (reg9.is_valid()) regs |= reg9.bit();
|
||||
if (reg10.is_valid()) regs |= reg10.bit();
|
||||
int n_of_non_aliasing_regs = NumRegs(regs);
|
||||
|
||||
return n_of_valid_regs != n_of_non_aliasing_regs;
|
||||
}
|
||||
|
||||
#endif // DEBUG
|
||||
|
||||
} // namespace internal
|
||||
} // namespace v8
|
||||
|
@ -115,6 +115,19 @@ class HardAbortScope BASE_EMBEDDED {
|
||||
// - WebAssembly: Call native {WasmCode} stub via {RelocInfo::WASM_STUB_CALL}.
|
||||
enum class StubCallMode { kCallOnHeapBuiltin, kCallWasmRuntimeStub };
|
||||
|
||||
#ifdef DEBUG
|
||||
bool AreAliased(Register reg1, Register reg2, Register reg3 = no_reg,
|
||||
Register reg4 = no_reg, Register reg5 = no_reg,
|
||||
Register reg6 = no_reg, Register reg7 = no_reg,
|
||||
Register reg8 = no_reg, Register reg9 = no_reg,
|
||||
Register reg10 = no_reg);
|
||||
bool AreAliased(DoubleRegister reg1, DoubleRegister reg2,
|
||||
DoubleRegister reg3 = no_dreg, DoubleRegister reg4 = no_dreg,
|
||||
DoubleRegister reg5 = no_dreg, DoubleRegister reg6 = no_dreg,
|
||||
DoubleRegister reg7 = no_dreg, DoubleRegister reg8 = no_dreg,
|
||||
DoubleRegister reg9 = no_dreg, DoubleRegister reg10 = no_dreg);
|
||||
#endif
|
||||
|
||||
} // namespace internal
|
||||
} // namespace v8
|
||||
|
||||
|
@ -220,6 +220,7 @@ typedef XMMRegister Simd128Register;
|
||||
DOUBLE_REGISTERS(DECLARE_REGISTER)
|
||||
#undef DECLARE_REGISTER
|
||||
constexpr DoubleRegister no_double_reg = DoubleRegister::no_reg();
|
||||
constexpr DoubleRegister no_dreg = DoubleRegister::no_reg();
|
||||
|
||||
enum Condition {
|
||||
// any value < 0 is considered no_condition
|
||||
|
@ -2564,35 +2564,6 @@ void TurboAssembler::CallCFunction(Register function, int num_arguments) {
|
||||
movp(rsp, Operand(rsp, argument_slots_on_stack * kRegisterSize));
|
||||
}
|
||||
|
||||
|
||||
#ifdef DEBUG
|
||||
bool AreAliased(Register reg1,
|
||||
Register reg2,
|
||||
Register reg3,
|
||||
Register reg4,
|
||||
Register reg5,
|
||||
Register reg6,
|
||||
Register reg7,
|
||||
Register reg8) {
|
||||
int n_of_valid_regs = reg1.is_valid() + reg2.is_valid() +
|
||||
reg3.is_valid() + reg4.is_valid() + reg5.is_valid() + reg6.is_valid() +
|
||||
reg7.is_valid() + reg8.is_valid();
|
||||
|
||||
RegList regs = 0;
|
||||
if (reg1.is_valid()) regs |= reg1.bit();
|
||||
if (reg2.is_valid()) regs |= reg2.bit();
|
||||
if (reg3.is_valid()) regs |= reg3.bit();
|
||||
if (reg4.is_valid()) regs |= reg4.bit();
|
||||
if (reg5.is_valid()) regs |= reg5.bit();
|
||||
if (reg6.is_valid()) regs |= reg6.bit();
|
||||
if (reg7.is_valid()) regs |= reg7.bit();
|
||||
if (reg8.is_valid()) regs |= reg8.bit();
|
||||
int n_of_non_aliasing_regs = NumRegs(regs);
|
||||
|
||||
return n_of_valid_regs != n_of_non_aliasing_regs;
|
||||
}
|
||||
#endif
|
||||
|
||||
void TurboAssembler::CheckPageFlag(Register object, Register scratch, int mask,
|
||||
Condition cc, Label* condition_met,
|
||||
Label::Distance condition_met_distance) {
|
||||
|
@ -52,17 +52,6 @@ typedef Operand MemOperand;
|
||||
enum RememberedSetAction { EMIT_REMEMBERED_SET, OMIT_REMEMBERED_SET };
|
||||
enum SmiCheck { INLINE_SMI_CHECK, OMIT_SMI_CHECK };
|
||||
|
||||
#ifdef DEBUG
|
||||
bool AreAliased(Register reg1,
|
||||
Register reg2,
|
||||
Register reg3 = no_reg,
|
||||
Register reg4 = no_reg,
|
||||
Register reg5 = no_reg,
|
||||
Register reg6 = no_reg,
|
||||
Register reg7 = no_reg,
|
||||
Register reg8 = no_reg);
|
||||
#endif
|
||||
|
||||
struct SmiIndex {
|
||||
SmiIndex(Register index_register, ScaleFactor scale)
|
||||
: reg(index_register),
|
||||
|
Loading…
Reference in New Issue
Block a user