Chromium Code Reviews| Index: src/mips64/assembler-mips64.cc |
| diff --git a/src/mips64/assembler-mips64.cc b/src/mips64/assembler-mips64.cc |
| index 91594d3dd342adbfd27d157ffe45f134de157b20..e0f12ed020f54f3102e95c73acfb599816adff98 100644 |
| --- a/src/mips64/assembler-mips64.cc |
| +++ b/src/mips64/assembler-mips64.cc |
| @@ -1344,9 +1344,11 @@ void Assembler::bgezalc(Register rt, int16_t offset) { |
| void Assembler::bgezall(Register rs, int16_t offset) { |
| - DCHECK(kArchVariant == kMips64r6); |
| + DCHECK(kArchVariant != kMips64r6); |
| DCHECK(!(rs.is(zero_reg))); |
| + BlockTrampolinePoolScope block_trampoline_pool(this); |
| GenInstrImmediate(REGIMM, rs, BGEZALL, offset); |
| + BlockTrampolinePoolFor(1); // For associated delay slot. |
| } |
| @@ -1409,15 +1411,19 @@ void Assembler::bnezc(Register rs, int32_t offset) { |
| void Assembler::j(int64_t target) { |
| + BlockTrampolinePoolScope block_trampoline_pool(this); |
| GenInstrJump(J, static_cast<uint32_t>(target >> 2) & kImm26Mask); |
| + BlockTrampolinePoolFor(1); // For associated delay slot. |
| } |
| void Assembler::j(Label* target) { |
| uint64_t imm = jump_offset(target); |
| if (target->is_bound()) { |
| + BlockTrampolinePoolScope block_trampoline_pool(this); |
| GenInstrJump(static_cast<Opcode>(kJRawMark), |
| static_cast<uint32_t>(imm >> 2) & kImm26Mask); |
| + BlockTrampolinePoolFor(1); // For associated delay slot. |
| } else { |
| j(imm); |
|
paul.l...
2015/11/17 19:59:45
Doesn't this unbound case also need to be protecte
balazs.kilvady
2015/11/18 12:22:53
We should not add protection here as implementatio
|
| } |
| @@ -1427,8 +1433,11 @@ void Assembler::j(Label* target) { |
| void Assembler::jal(Label* target) { |
| uint64_t imm = jump_offset(target); |
| if (target->is_bound()) { |
| + BlockTrampolinePoolScope block_trampoline_pool(this); |
| + positions_recorder()->WriteRecordedPositions(); |
| GenInstrJump(static_cast<Opcode>(kJalRawMark), |
| static_cast<uint32_t>(imm >> 2) & kImm26Mask); |
| + BlockTrampolinePoolFor(1); // For associated delay slot. |
| } else { |
| jal(imm); |
| } |
| @@ -1450,8 +1459,10 @@ void Assembler::jr(Register rs) { |
| void Assembler::jal(int64_t target) { |
| + BlockTrampolinePoolScope block_trampoline_pool(this); |
| positions_recorder()->WriteRecordedPositions(); |
| GenInstrJump(JAL, static_cast<uint32_t>(target >> 2) & kImm26Mask); |
| + BlockTrampolinePoolFor(1); // For associated delay slot. |
| } |