| Index: src/mips64/simulator-mips64.cc
|
| diff --git a/src/mips64/simulator-mips64.cc b/src/mips64/simulator-mips64.cc
|
| index 4298ca0e16cda9f61e8a10293278a910c2f0cea8..254d4f6fb27c3925c99c2b641591f223a63d67f7 100644
|
| --- a/src/mips64/simulator-mips64.cc
|
| +++ b/src/mips64/simulator-mips64.cc
|
| @@ -3923,11 +3923,11 @@ void Simulator::DecodeTypeImmediate(Instruction* instr) {
|
| // Type 3: instructions using a 26 bytes immediate. (e.g. j, jal).
|
| void Simulator::DecodeTypeJump(Instruction* instr) {
|
| // Get current pc.
|
| - int32_t current_pc = get_pc();
|
| + int64_t current_pc = get_pc();
|
| // Get unchanged bits of pc.
|
| - int32_t pc_high_bits = current_pc & 0xf0000000;
|
| + int64_t pc_high_bits = current_pc & 0xfffffffff0000000;
|
| // Next pc.
|
| - int32_t next_pc = pc_high_bits | (instr->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
|
|
|