diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2015-04-15 14:10:29 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2015-04-15 14:10:29 +0000 |
commit | a76a08fed88bd081bcc4d240f1ba3472a2acbbab (patch) | |
tree | cd016bb007c3757ab2a6df28bc1a65d6a8e78e44 /compiler/optimizing/code_generator_arm.cc | |
parent | acf9b7b7616a9b104e6f2146051d8e14d9cb9030 (diff) | |
parent | 9021825d1e73998b99c81e89c73796f6f2845471 (diff) |
Merge "Type MoveOperands."
Diffstat (limited to 'compiler/optimizing/code_generator_arm.cc')
-rw-r--r-- | compiler/optimizing/code_generator_arm.cc | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/compiler/optimizing/code_generator_arm.cc b/compiler/optimizing/code_generator_arm.cc index 72b07cd9e8..507b3cd021 100644 --- a/compiler/optimizing/code_generator_arm.cc +++ b/compiler/optimizing/code_generator_arm.cc @@ -141,8 +141,10 @@ class BoundsCheckSlowPathARM : public SlowPathCodeARM { codegen->EmitParallelMoves( index_location_, Location::RegisterLocation(calling_convention.GetRegisterAt(0)), + Primitive::kPrimInt, length_location_, - Location::RegisterLocation(calling_convention.GetRegisterAt(1))); + Location::RegisterLocation(calling_convention.GetRegisterAt(1)), + Primitive::kPrimInt); arm_codegen->InvokeRuntime( QUICK_ENTRY_POINT(pThrowArrayBounds), instruction_, instruction_->GetDexPc(), this); } @@ -262,8 +264,10 @@ class TypeCheckSlowPathARM : public SlowPathCodeARM { codegen->EmitParallelMoves( class_to_check_, Location::RegisterLocation(calling_convention.GetRegisterAt(0)), + Primitive::kPrimNot, object_class_, - Location::RegisterLocation(calling_convention.GetRegisterAt(1))); + Location::RegisterLocation(calling_convention.GetRegisterAt(1)), + Primitive::kPrimNot); if (instruction_->IsInstanceOf()) { arm_codegen->InvokeRuntime( @@ -750,8 +754,10 @@ void CodeGeneratorARM::Move64(Location destination, Location source) { EmitParallelMoves( Location::RegisterLocation(source.AsRegisterPairHigh<Register>()), Location::RegisterLocation(destination.AsRegisterPairHigh<Register>()), + Primitive::kPrimInt, Location::RegisterLocation(source.AsRegisterPairLow<Register>()), - Location::RegisterLocation(destination.AsRegisterPairLow<Register>())); + Location::RegisterLocation(destination.AsRegisterPairLow<Register>()), + Primitive::kPrimInt); } else if (source.IsFpuRegister()) { UNIMPLEMENTED(FATAL); } else { @@ -789,8 +795,10 @@ void CodeGeneratorARM::Move64(Location destination, Location source) { EmitParallelMoves( Location::StackSlot(source.GetStackIndex()), Location::StackSlot(destination.GetStackIndex()), + Primitive::kPrimInt, Location::StackSlot(source.GetHighStackIndex(kArmWordSize)), - Location::StackSlot(destination.GetHighStackIndex(kArmWordSize))); + Location::StackSlot(destination.GetHighStackIndex(kArmWordSize)), + Primitive::kPrimInt); } } } |