Bug 1481097 - vixl: Remove vixl assembler workaround for gcc 4.8.2 bug. r?sstangl
This gcc 4.8.2 workaround (from
bug 1219050) is no longer needed because Firefox currently requires gcc 6.1 or later (as of
bug 1444274).
MozReview-Commit-ID: HlJwJ2dXdrN
--- a/js/src/jit/arm64/vixl/Assembler-vixl.h
+++ b/js/src/jit/arm64/vixl/Assembler-vixl.h
@@ -4062,21 +4062,19 @@ class Assembler : public MozBaseAssemble
void LoadStoreStructVerify(const VRegister& vt,
const MemOperand& addr,
Instr op);
void Prefetch(PrefetchOperation op,
const MemOperand& addr,
LoadStoreScalingOption option = PreferScaledOffset);
- // TODO(all): The third parameter should be passed by reference but gcc 4.8.2
- // reports a bogus uninitialised warning then.
BufferOffset Logical(const Register& rd,
const Register& rn,
- const Operand operand,
+ const Operand& operand,
LogicalOp op);
BufferOffset LogicalImmediate(const Register& rd,
const Register& rn,
unsigned n,
unsigned imm_s,
unsigned imm_r,
LogicalOp op);
--- a/js/src/jit/arm64/vixl/MozAssembler-vixl.cpp
+++ b/js/src/jit/arm64/vixl/MozAssembler-vixl.cpp
@@ -410,17 +410,17 @@ void Assembler::nop(Instruction* at) {
void Assembler::csdb(Instruction* at) {
hint(at, CSDB);
}
BufferOffset Assembler::Logical(const Register& rd, const Register& rn,
- const Operand operand, LogicalOp op)
+ const Operand& operand, LogicalOp op)
{
VIXL_ASSERT(rd.size() == rn.size());
if (operand.IsImmediate()) {
int64_t immediate = operand.immediate();
unsigned reg_size = rd.size();
VIXL_ASSERT(immediate != 0);
VIXL_ASSERT(immediate != -1);
@@ -719,9 +719,8 @@ void MozBaseAssembler::RetargetNearBranc
void MozBaseAssembler::RetargetFarBranch(Instruction* i, uint8_t** slot, uint8_t* dest, Condition cond) {
MOZ_CRASH("RetargetFarBranch()");
}
} // namespace vixl
-