Revert "Avoid std::string allocations in HasSameNameAndSignature."

This reverts commit b605a4f9a8797046ea1aa05f3405a77fb9a80a76.

Change-Id: I4f185a1ea1e453fcff5325062be8ff1d8af20396
diff --git a/runtime/object_utils.h b/runtime/object_utils.h
index c55e10e..6ee3016 100644
--- a/runtime/object_utils.h
+++ b/runtime/object_utils.h
@@ -569,64 +569,16 @@
 
   bool HasSameNameAndSignature(MethodHelper* other)
       SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) {
-    const DexFile& dex_file = GetDexFile();
-    const DexFile::MethodId& mid = dex_file.GetMethodId(method_->GetDexMethodIndex());
     if (GetDexCache() == other->GetDexCache()) {
+      const DexFile& dex_file = GetDexFile();
+      const DexFile::MethodId& mid = dex_file.GetMethodId(method_->GetDexMethodIndex());
       const DexFile::MethodId& other_mid =
           dex_file.GetMethodId(other->method_->GetDexMethodIndex());
       return mid.name_idx_ == other_mid.name_idx_ && mid.proto_idx_ == other_mid.proto_idx_;
     }
-    const DexFile& other_dex_file = other->GetDexFile();
-    const DexFile::MethodId& other_mid =
-        other_dex_file.GetMethodId(other->method_->GetDexMethodIndex());
-    uint32_t length, other_length;
-    const char* data = dex_file.StringDataAndLengthByIdx(mid.name_idx_, &length);
-    const char* other_data = other_dex_file.StringDataAndLengthByIdx(other_mid.name_idx_,
-                                                                     &other_length);
-    if ((length != other_length) || (strcmp(data, other_data) != 0)) {
-      return false;  // Name mismatch.
-    }
-    const DexFile::ProtoId& proto_id = dex_file.GetMethodPrototype(mid);
-    const DexFile::ProtoId& other_proto_id = other_dex_file.GetMethodPrototype(other_mid);
-    data = dex_file.StringDataAndLengthByIdx(proto_id.shorty_idx_, &length);
-    other_data = dex_file.StringDataAndLengthByIdx(proto_id.shorty_idx_, &other_length);
-    if ((length != other_length) || (strcmp(data, other_data) != 0)) {
-      return false;  // Shorty mismatch.
-    }
-    const DexFile::TypeId& return_type_id = dex_file.GetTypeId(proto_id.return_type_idx_);
-    const DexFile::TypeId& other_return_type_id =
-        other_dex_file.GetTypeId(other_proto_id.return_type_idx_);
-    data = dex_file.StringDataAndLengthByIdx(return_type_id.descriptor_idx_, &length);
-    other_data = other_dex_file.StringDataAndLengthByIdx(other_return_type_id.descriptor_idx_,
-                                                         &other_length);
-    if ((length != other_length) || (strcmp(data, other_data) != 0)) {
-      return false;  // Return type mismatch.
-    }
-    const DexFile::TypeList* params = dex_file.GetProtoParameters(proto_id);
-    const DexFile::TypeList* other_params = other_dex_file.GetProtoParameters(other_proto_id);
-    if (params == nullptr) {
-      return other_params == nullptr;  // Check both lists are empty.
-    }
-    if (other_params == nullptr) {
-      return false;  // Parameter list size mismatch.
-    }
-    uint32_t params_size = params->Size();
-    uint32_t other_params_size = other_params->Size();
-    if (params_size != other_params_size) {
-      return false;  // Parameter list size mismatch.
-    }
-    for (uint32_t i = 0; i < params_size; ++i) {
-      const DexFile::TypeId& param_id = dex_file.GetTypeId(params->GetTypeItem(i).type_idx_);
-      const DexFile::TypeId& other_param_id =
-          other_dex_file.GetTypeId(other_params->GetTypeItem(i).type_idx_);
-      data = dex_file.StringDataAndLengthByIdx(param_id.descriptor_idx_, &length);
-      other_data = other_dex_file.StringDataAndLengthByIdx(other_param_id.descriptor_idx_,
-                                                     &other_length);
-      if ((length != other_length) || (strcmp(data, other_data) != 0)) {
-        return false;  // Parameter type mismatch.
-      }
-    }
-    return true;
+    StringPiece name(GetName());
+    StringPiece other_name(other->GetName());
+    return name == other_name && GetSignature() == other->GetSignature();
   }
 
   const DexFile::CodeItem* GetCodeItem()