summaryrefslogtreecommitdiff
path: root/deps/v8/src/execution/mips64/simulator-mips64.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/execution/mips64/simulator-mips64.cc')
-rw-r--r--deps/v8/src/execution/mips64/simulator-mips64.cc20
1 files changed, 5 insertions, 15 deletions
diff --git a/deps/v8/src/execution/mips64/simulator-mips64.cc b/deps/v8/src/execution/mips64/simulator-mips64.cc
index d45889e5a2..f628653900 100644
--- a/deps/v8/src/execution/mips64/simulator-mips64.cc
+++ b/deps/v8/src/execution/mips64/simulator-mips64.cc
@@ -159,7 +159,6 @@ bool MipsDebugger::GetValue(const char* desc, int64_t* value) {
} else {
return SScanF(desc, "%" SCNu64, reinterpret_cast<uint64_t*>(value)) == 1;
}
- return false;
}
bool MipsDebugger::SetBreakpoint(Instruction* breakpc) {
@@ -2039,7 +2038,6 @@ double Simulator::ReadD(int64_t addr, Instruction* instr) {
PrintF("Unaligned (double) read at 0x%08" PRIx64 " , pc=0x%08" V8PRIxPTR "\n",
addr, reinterpret_cast<intptr_t>(instr));
base::OS::Abort();
- return 0;
}
void Simulator::WriteD(int64_t addr, double value, Instruction* instr) {
@@ -2330,7 +2328,6 @@ void Simulator::SoftwareInterrupt() {
break;
default:
UNREACHABLE();
- break;
}
}
switch (redirection->type()) {
@@ -2365,7 +2362,6 @@ void Simulator::SoftwareInterrupt() {
}
default:
UNREACHABLE();
- break;
}
if (::v8::internal::FLAG_trace_sim) {
switch (redirection->type()) {
@@ -2379,7 +2375,6 @@ void Simulator::SoftwareInterrupt() {
break;
default:
UNREACHABLE();
- break;
}
}
} else if (redirection->type() == ExternalReference::DIRECT_API_CALL) {
@@ -4404,7 +4399,6 @@ void Simulator::DecodeTypeRegisterSPECIAL3() {
default:
alu_out = 0x12345678;
UNREACHABLE();
- break;
}
break;
}
@@ -4503,7 +4497,6 @@ void Simulator::DecodeTypeRegisterSPECIAL3() {
default:
alu_out = 0x12345678;
UNREACHABLE();
- break;
}
break;
}
@@ -4542,7 +4535,6 @@ int Simulator::DecodeMsaDataFormat() {
break;
default:
UNREACHABLE();
- break;
}
} else {
int DF[] = {MSA_BYTE, MSA_HALF, MSA_WORD, MSA_DWORD};
@@ -4587,7 +4579,6 @@ int Simulator::DecodeMsaDataFormat() {
break;
default:
UNREACHABLE();
- break;
}
}
return df;
@@ -4967,7 +4958,6 @@ void Simulator::DecodeTypeMsaELM() {
case SPLATI:
case INSVE:
UNIMPLEMENTED();
- break;
default:
UNREACHABLE();
}
@@ -7187,7 +7177,6 @@ void Simulator::DecodeTypeImmediate() {
}
default:
UNREACHABLE();
- break;
}
break;
}
@@ -7273,7 +7262,6 @@ void Simulator::DecodeTypeImmediate() {
break;
default:
UNREACHABLE();
- break;
}
break;
default:
@@ -7297,13 +7285,15 @@ void Simulator::DecodeTypeImmediate() {
// Type 3: instructions using a 26 bytes immediate. (e.g. j, jal).
void Simulator::DecodeTypeJump() {
- SimInstruction simInstr = instr_;
+ // instr_ will be overwritten by BranchDelayInstructionDecode(), so we save
+ // the result of IsLinkingInstruction now.
+ bool isLinkingInstr = instr_.IsLinkingInstruction();
// Get current pc.
int64_t current_pc = get_pc();
// Get unchanged bits of pc.
int64_t pc_high_bits = current_pc & 0xFFFFFFFFF0000000;
// Next pc.
- int64_t next_pc = pc_high_bits | (simInstr.Imm26Value() << 2);
+ int64_t next_pc = pc_high_bits | (instr_.Imm26Value() << 2);
// Execute branch delay slot.
// We don't check for end_sim_pc. First it should not be met as the current pc
@@ -7314,7 +7304,7 @@ void Simulator::DecodeTypeJump() {
// Update pc and ra if necessary.
// Do this after the branch delay execution.
- if (simInstr.IsLinkingInstruction()) {
+ if (isLinkingInstr) {
set_register(31, current_pc + 2 * kInstrSize);
}
set_pc(next_pc);