diff options
Diffstat (limited to 'compiler/optimizing')
| -rw-r--r-- | compiler/optimizing/code_generator.cc | 2 | ||||
| -rw-r--r-- | compiler/optimizing/code_generator_mips.cc | 11 | ||||
| -rw-r--r-- | compiler/optimizing/code_generator_mips64.cc | 4 | ||||
| -rw-r--r-- | compiler/optimizing/data_type-inl.h | 2 | ||||
| -rw-r--r-- | compiler/optimizing/data_type_test.cc | 2 |
5 files changed, 10 insertions, 11 deletions
diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc index 01155dcd37..ff59173c8b 100644 --- a/compiler/optimizing/code_generator.cc +++ b/compiler/optimizing/code_generator.cc @@ -43,6 +43,7 @@ #include "base/bit_utils.h" #include "base/bit_utils_iterator.h" #include "base/casts.h" +#include "base/leb128.h" #include "bytecode_utils.h" #include "class_linker.h" #include "compiled_method.h" @@ -52,7 +53,6 @@ #include "graph_visualizer.h" #include "intern_table.h" #include "intrinsics.h" -#include "leb128.h" #include "mirror/array-inl.h" #include "mirror/object_array-inl.h" #include "mirror/object_reference.h" diff --git a/compiler/optimizing/code_generator_mips.cc b/compiler/optimizing/code_generator_mips.cc index d01b895446..87e6d6834b 100644 --- a/compiler/optimizing/code_generator_mips.cc +++ b/compiler/optimizing/code_generator_mips.cc @@ -1929,8 +1929,8 @@ void InstructionCodeGeneratorMIPS::GenerateClassInitializationCheck(SlowPathCode enum_cast<uint32_t>(ClassStatus::kInitialized) << (status_lsb_position % kBitsPerByte); __ LoadFromOffset(kLoadUnsignedByte, TMP, class_reg, status_byte_offset); - __ LoadConst32(AT, shifted_initialized_value); - __ Bltu(TMP, AT, slow_path->GetEntryLabel()); + __ Sltiu(TMP, TMP, shifted_initialized_value); + __ Bnez(TMP, slow_path->GetEntryLabel()); // Even if the initialized flag is set, we need to ensure consistent memory ordering. __ Sync(0); __ Bind(slow_path->GetExitLabel()); @@ -7635,10 +7635,6 @@ void InstructionCodeGeneratorMIPS::VisitInvokeInterface(HInvokeInterface* invoke uint32_t class_offset = mirror::Object::ClassOffset().Int32Value(); Offset entry_point = ArtMethod::EntryPointFromQuickCompiledCodeOffset(kMipsPointerSize); - // Set the hidden argument. - __ LoadConst32(invoke->GetLocations()->GetTemp(1).AsRegister<Register>(), - invoke->GetDexMethodIndex()); - // temp = object->GetClass(); if (receiver.IsStackSlot()) { __ LoadFromOffset(kLoadWord, temp, SP, receiver.GetStackIndex()); @@ -7663,6 +7659,9 @@ void InstructionCodeGeneratorMIPS::VisitInvokeInterface(HInvokeInterface* invoke __ LoadFromOffset(kLoadWord, temp, temp, method_offset); // T9 = temp->GetEntryPoint(); __ LoadFromOffset(kLoadWord, T9, temp, entry_point.Int32Value()); + // Set the hidden argument. + __ LoadConst32(invoke->GetLocations()->GetTemp(1).AsRegister<Register>(), + invoke->GetDexMethodIndex()); // T9(); __ Jalr(T9); __ NopIfNoReordering(); diff --git a/compiler/optimizing/code_generator_mips64.cc b/compiler/optimizing/code_generator_mips64.cc index e3529f178a..985ac2ca55 100644 --- a/compiler/optimizing/code_generator_mips64.cc +++ b/compiler/optimizing/code_generator_mips64.cc @@ -1773,8 +1773,8 @@ void InstructionCodeGeneratorMIPS64::GenerateClassInitializationCheck(SlowPathCo enum_cast<uint32_t>(ClassStatus::kInitialized) << (status_lsb_position % kBitsPerByte); __ LoadFromOffset(kLoadUnsignedByte, TMP, class_reg, status_byte_offset); - __ LoadConst32(AT, shifted_initialized_value); - __ Bltuc(TMP, AT, slow_path->GetEntryLabel()); + __ Sltiu(TMP, TMP, shifted_initialized_value); + __ Bnezc(TMP, slow_path->GetEntryLabel()); // Even if the initialized flag is set, we need to ensure consistent memory ordering. __ Sync(0); __ Bind(slow_path->GetExitLabel()); diff --git a/compiler/optimizing/data_type-inl.h b/compiler/optimizing/data_type-inl.h index e2cf7a80fe..94807e8fc9 100644 --- a/compiler/optimizing/data_type-inl.h +++ b/compiler/optimizing/data_type-inl.h @@ -18,7 +18,7 @@ #define ART_COMPILER_OPTIMIZING_DATA_TYPE_INL_H_ #include "data_type.h" -#include "primitive.h" +#include "dex/primitive.h" namespace art { diff --git a/compiler/optimizing/data_type_test.cc b/compiler/optimizing/data_type_test.cc index ca137b7c7c..8fea22bce8 100644 --- a/compiler/optimizing/data_type_test.cc +++ b/compiler/optimizing/data_type_test.cc @@ -20,7 +20,7 @@ #include "base/array_ref.h" #include "base/macros.h" -#include "primitive.h" +#include "dex/primitive.h" namespace art { |