diff options
author | Andreas Gampe <agampe@google.com> | 2015-01-13 11:32:32 -0800 |
---|---|---|
committer | Andreas Gampe <agampe@google.com> | 2015-01-13 11:32:32 -0800 |
commit | 8d36591d93920e7b7830c3ffee3759b561f5339e (patch) | |
tree | 3217249ce513848ed93dcec981d6ed4c13c2fc60 /compiler/utils/mips/assembler_mips.cc | |
parent | 8fccea249b1a6f1469eeea42c2b2cca06ce1c70d (diff) | |
download | android_art-8d36591d93920e7b7830c3ffee3759b561f5339e.tar.gz android_art-8d36591d93920e7b7830c3ffee3759b561f5339e.tar.bz2 android_art-8d36591d93920e7b7830c3ffee3759b561f5339e.zip |
ART: Use jalr instead of jr for Mips
Use the jalr instruction instead of jr in stubs and compiled code.
Change-Id: Idacc5167a5bb0113dc2e7716e4767e5ed07b5e0b
Diffstat (limited to 'compiler/utils/mips/assembler_mips.cc')
-rw-r--r-- | compiler/utils/mips/assembler_mips.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/utils/mips/assembler_mips.cc b/compiler/utils/mips/assembler_mips.cc index 8001dcd2fb..b5437b0eda 100644 --- a/compiler/utils/mips/assembler_mips.cc +++ b/compiler/utils/mips/assembler_mips.cc @@ -332,7 +332,7 @@ void MipsAssembler::Jal(uint32_t address) { } void MipsAssembler::Jr(Register rs) { - EmitR(0, rs, static_cast<Register>(0), static_cast<Register>(0), 0, 0x08); + EmitR(0, rs, static_cast<Register>(0), static_cast<Register>(0), 0, 0x09); // Jalr zero, rs Nop(); } @@ -420,7 +420,7 @@ void MipsAssembler::Nop() { } void MipsAssembler::Move(Register rt, Register rs) { - EmitI(0x8, rs, rt, 0); + EmitI(0x9, rs, rt, 0); // Addiu } void MipsAssembler::Clear(Register rt) { @@ -447,11 +447,11 @@ void MipsAssembler::Rem(Register rd, Register rs, Register rt) { } void MipsAssembler::AddConstant(Register rt, Register rs, int32_t value) { - Addi(rt, rs, value); + Addiu(rt, rs, value); } void MipsAssembler::LoadImmediate(Register rt, int32_t value) { - Addi(rt, ZERO, value); + Addiu(rt, ZERO, value); } void MipsAssembler::EmitLoad(ManagedRegister m_dst, Register src_register, int32_t src_offset, |