summaryrefslogtreecommitdiff
path: root/compiler/optimizing
diff options
context:
space:
mode:
author Roland Levillain <rpl@google.com> 2016-03-16 10:12:39 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2016-03-16 10:12:39 +0000
commit3e906819c33d19c9586ecd9441f0ffb8433f2bad (patch)
tree77b91c120c37cb149fa4740b6f677194c2706605 /compiler/optimizing
parentd9ebad9b52605ed785222a86c84e58fa7cb66686 (diff)
parent1693a1f9c83a0bf5a29fa18ddc2d87e04e049233 (diff)
Merge "Make art::HCompare side effect free."
Diffstat (limited to 'compiler/optimizing')
-rw-r--r--compiler/optimizing/code_generator.cc4
-rw-r--r--compiler/optimizing/nodes.h6
2 files changed, 5 insertions, 5 deletions
diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc
index af50363e31..039c3c562b 100644
--- a/compiler/optimizing/code_generator.cc
+++ b/compiler/optimizing/code_generator.cc
@@ -706,7 +706,7 @@ void CodeGenerator::RecordPcInfo(HInstruction* instruction,
uint32_t dex_pc,
SlowPathCode* slow_path) {
if (instruction != nullptr) {
- // The code generated for some type conversions and comparisons
+ // The code generated for some type conversions
// may call the runtime, thus normally requiring a subsequent
// call to this method. However, the method verifier does not
// produce PC information for certain instructions, which are
@@ -717,7 +717,7 @@ void CodeGenerator::RecordPcInfo(HInstruction* instruction,
// CodeGenerator::RecordPcInfo without triggering an error in
// CodeGenerator::BuildNativeGCMap ("Missing ref for dex pc 0x")
// thereafter.
- if (instruction->IsTypeConversion() || instruction->IsCompare()) {
+ if (instruction->IsTypeConversion()) {
return;
}
if (instruction->IsRem()) {
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h
index 4a4f193d4c..3733850745 100644
--- a/compiler/optimizing/nodes.h
+++ b/compiler/optimizing/nodes.h
@@ -3485,9 +3485,9 @@ class HCompare : public HBinaryOperation {
return GetBias() == ComparisonBias::kGtBias;
}
- static SideEffects SideEffectsForArchRuntimeCalls(Primitive::Type type) {
- // MIPS64 uses a runtime call for FP comparisons.
- return Primitive::IsFloatingPointType(type) ? SideEffects::CanTriggerGC() : SideEffects::None();
+ static SideEffects SideEffectsForArchRuntimeCalls(Primitive::Type type ATTRIBUTE_UNUSED) {
+ // Comparisons do not require a runtime call in any back end.
+ return SideEffects::None();
}
DECLARE_INSTRUCTION(Compare);