OSDN Git Service

ART: Remove unnecessary helper method from GraphChecker
authorDavid Brazdil <dbrazdil@google.com>
Tue, 10 Nov 2015 18:49:28 +0000 (18:49 +0000)
committerDavid Brazdil <dbrazdil@google.com>
Tue, 10 Nov 2015 18:49:28 +0000 (18:49 +0000)
Change-Id: I59f50a559da560033f4c9407d83b68fc5d64bd3c

compiler/optimizing/graph_checker.cc

index 091f1c7..5814d75 100644 (file)
@@ -162,13 +162,6 @@ void GraphChecker::VisitBoundsCheck(HBoundsCheck* check) {
   VisitInstruction(check);
 }
 
-// Returns true if there exists `index2` such that `index2 > index` and
-// `array[index] == array[index2]`.
-static bool ContainsSameValueAfter(ArrayRef<HBasicBlock* const> array, size_t index) {
-  ArrayRef<HBasicBlock* const> tail = array.SubArray(index + 1);
-  return std::find(tail.begin(), tail.end(), array[index]) != tail.end();
-}
-
 void GraphChecker::VisitTryBoundary(HTryBoundary* try_boundary) {
   ArrayRef<HBasicBlock* const> handlers = try_boundary->GetExceptionHandlers();
 
@@ -188,8 +181,8 @@ void GraphChecker::VisitTryBoundary(HTryBoundary* try_boundary) {
 
   // Ensure that handlers are not listed multiple times.
   for (size_t i = 0, e = handlers.size(); i < e; ++i) {
-    if (ContainsSameValueAfter(handlers, i)) {
-      AddError(StringPrintf("Exception handler block %d of %s:%d is listed multiple times.",
+    if (ContainsElement(handlers, handlers[i], i + 1)) {
+        AddError(StringPrintf("Exception handler block %d of %s:%d is listed multiple times.",
                             handlers[i]->GetBlockId(),
                             try_boundary->DebugName(),
                             try_boundary->GetId()));