summaryrefslogtreecommitdiff
path: root/runtime/art_method-inl.h
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/art_method-inl.h')
-rw-r--r--runtime/art_method-inl.h31
1 files changed, 12 insertions, 19 deletions
diff --git a/runtime/art_method-inl.h b/runtime/art_method-inl.h
index 61c261c52c9..6bbccb8c4d5 100644
--- a/runtime/art_method-inl.h
+++ b/runtime/art_method-inl.h
@@ -200,26 +200,19 @@ inline const char* ArtMethod::GetName() {
const DexFile* dex_file = GetDexFile();
return dex_file->GetMethodName(dex_file->GetMethodId(dex_method_idx));
}
- Runtime* const runtime = Runtime::Current();
- if (this == runtime->GetResolutionMethod()) {
- return "<runtime internal resolution method>";
- } else if (this == runtime->GetImtConflictMethod()) {
- return "<runtime internal imt conflict method>";
- } else if (this == runtime->GetCalleeSaveMethod(CalleeSaveType::kSaveAllCalleeSaves)) {
- return "<runtime internal callee-save all registers method>";
- } else if (this == runtime->GetCalleeSaveMethod(CalleeSaveType::kSaveRefsOnly)) {
- return "<runtime internal callee-save reference registers method>";
- } else if (this == runtime->GetCalleeSaveMethod(CalleeSaveType::kSaveRefsAndArgs)) {
- return "<runtime internal callee-save reference and argument registers method>";
- } else if (this == runtime->GetCalleeSaveMethod(CalleeSaveType::kSaveEverything)) {
- return "<runtime internal save-every-register method>";
- } else if (this == runtime->GetCalleeSaveMethod(CalleeSaveType::kSaveEverythingForClinit)) {
- return "<runtime internal save-every-register method for clinit>";
- } else if (this == runtime->GetCalleeSaveMethod(CalleeSaveType::kSaveEverythingForSuspendCheck)) {
- return "<runtime internal save-every-register method for suspend check>";
- } else {
- return "<unknown runtime internal method>";
+ return GetRuntimeMethodName();
+}
+
+inline std::string_view ArtMethod::GetNameView() {
+ uint32_t dex_method_idx = GetDexMethodIndex();
+ if (LIKELY(dex_method_idx != dex::kDexNoIndex)) {
+ DCHECK(!IsProxyMethod());
+ const DexFile* dex_file = GetDexFile();
+ uint32_t length = 0;
+ const char* name = dex_file->GetMethodName(dex_file->GetMethodId(dex_method_idx), &length);
+ return StringViewFromUtf16Length(name, length);
}
+ return GetRuntimeMethodName();
}
inline ObjPtr<mirror::String> ArtMethod::ResolveNameString() {