Index: src/mips/assembler-mips.cc |
=================================================================== |
--- src/mips/assembler-mips.cc (revision 15486) |
+++ src/mips/assembler-mips.cc (working copy) |
@@ -501,11 +501,13 @@ |
(opcode == COP1 && rs_field == BC1); // Coprocessor branch. |
} |
+ |
bool Assembler::IsEmittedConstant(Instr instr) { |
uint32_t label_constant = GetLabelConst(instr); |
return label_constant == 0; // Emitted label const in reg-exp engine. |
} |
+ |
bool Assembler::IsBeq(Instr instr) { |
return GetOpcodeField(instr) == BEQ; |
} |
@@ -539,10 +541,12 @@ |
return GetOpcodeField(instr) == JAL; |
} |
+ |
bool Assembler::IsJr(Instr instr) { |
return GetOpcodeField(instr) == SPECIAL && GetFunctionField(instr) == JR; |
} |
+ |
bool Assembler::IsJalr(Instr instr) { |
return GetOpcodeField(instr) == SPECIAL && GetFunctionField(instr) == JALR; |
} |
@@ -825,6 +829,7 @@ |
} |
} |
+ |
bool Assembler::is_near(Label* L) { |
if (L->is_bound()) { |
return ((pc_offset() - L->pos()) < kMaxBranchOffset - 4 * kInstrSize); |
@@ -832,6 +837,7 @@ |
return false; |
} |
+ |
// We have to use a temporary register for things that can be relocated even |
// if they can be encoded in the MIPS's 16 bits of immediate-offset instruction |
// space. There is no guarantee that the relocated location can be similarly |
@@ -1669,6 +1675,7 @@ |
GenInstrRegister(COP1, CFC1, rt, fs); |
} |
+ |
void Assembler::DoubleAsTwoUInt32(double d, uint32_t* lo, uint32_t* hi) { |
uint64_t i; |
OS::MemCopy(&i, &d, 8); |
@@ -1677,6 +1684,7 @@ |
*hi = i >> 32; |
} |
+ |
// Arithmetic. |
void Assembler::add_d(FPURegister fd, FPURegister fs, FPURegister ft) { |
@@ -2257,6 +2265,7 @@ |
CPU::FlushICache(pc, (patched_jump ? 3 : 2) * sizeof(int32_t)); |
} |
+ |
void Assembler::JumpLabelToJumpRegister(Address pc) { |
// Address pc points to lui/ori instructions. |
// Jump to label may follow at pc + 2 * kInstrSize. |