summaryrefslogtreecommitdiffstats
path: root/runtime/art_field-inl.h
diff options
context:
space:
mode:
authorVladimir Marko <vmarko@google.com>2015-04-13 12:22:36 +0100
committerVladimir Marko <vmarko@google.com>2015-04-13 16:30:13 +0100
commit3481ba2c4e4f3aa80d8c6d50a9f85dacb56b508b (patch)
tree77551c0a6d060e5a3723ad35d2ab101038f9328a /runtime/art_field-inl.h
parent095d209342420563becfec6676b46a6c6b839107 (diff)
downloadandroid_art-3481ba2c4e4f3aa80d8c6d50a9f85dacb56b508b.tar.gz
android_art-3481ba2c4e4f3aa80d8c6d50a9f85dacb56b508b.tar.bz2
android_art-3481ba2c4e4f3aa80d8c6d50a9f85dacb56b508b.zip
ART: Clean up includes.
Reduce dependencies to improve incremental build times. Break up circular dependency involving class_linker-inl.h. Change-Id: I4be742c5c2b5cd9855beea86630fd68aab76b0db
Diffstat (limited to 'runtime/art_field-inl.h')
-rw-r--r--runtime/art_field-inl.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/runtime/art_field-inl.h b/runtime/art_field-inl.h
index aeb127358c..a2625e2d42 100644
--- a/runtime/art_field-inl.h
+++ b/runtime/art_field-inl.h
@@ -21,6 +21,7 @@
#include "base/logging.h"
#include "class_linker.h"
+#include "gc_root-inl.h"
#include "gc/accounting/card_table-inl.h"
#include "jvalue.h"
#include "mirror/dex_cache.h"
@@ -289,15 +290,14 @@ inline mirror::Class* ArtField::GetType() {
const uint32_t field_index = GetDexFieldIndex();
auto* declaring_class = GetDeclaringClass();
if (UNLIKELY(declaring_class->IsProxyClass())) {
- return Runtime::Current()->GetClassLinker()->FindSystemClass(Thread::Current(),
- GetTypeDescriptor());
+ return ProxyFindSystemClass(GetTypeDescriptor());
}
auto* dex_cache = declaring_class->GetDexCache();
const DexFile* const dex_file = dex_cache->GetDexFile();
const DexFile::FieldId& field_id = dex_file->GetFieldId(field_index);
mirror::Class* type = dex_cache->GetResolvedType(field_id.type_idx_);
if (kResolve && UNLIKELY(type == nullptr)) {
- type = Runtime::Current()->GetClassLinker()->ResolveType(field_id.type_idx_, this);
+ type = ResolveGetType(field_id.type_idx_);
CHECK(type != nullptr || Thread::Current()->IsExceptionPending());
}
return type;
@@ -323,9 +323,7 @@ inline mirror::String* ArtField::GetStringName(Thread* self, bool resolve) {
const auto& field_id = dex_file->GetFieldId(dex_field_index);
auto* name = dex_cache->GetResolvedString(field_id.name_idx_);
if (resolve && name == nullptr) {
- StackHandleScope<1> hs(self);
- name = Runtime::Current()->GetClassLinker()->ResolveString(
- *dex_file, field_id.name_idx_, hs.NewHandle(dex_cache));
+ name = ResolveGetStringName(self, *dex_file, field_id.name_idx_, dex_cache);
}
return name;
}