| 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
 | 
| 
 |