diff options
author | 2017-04-20 22:53:58 -0700 | |
---|---|---|
committer | 2017-04-21 08:41:28 -0700 | |
commit | a1d2f957a21319d1110bebb9a52f46fd1c67ffaf (patch) | |
tree | db9b6eda7cd4764e13c07256df14a7c14888ee75 | |
parent | c6ea7d00ad069a2736f603daa3d8eaa9a1f8ea11 (diff) |
ART: Clean up art_field.h
Clean up the header. Fix up other headers including the -inl file,
in an effort to prune the include graph. Fix broken transitive
includes by making includes explicit.
Test: m
Change-Id: I6ff2d6f89b741d8188e19426eccf4743fec688fc
24 files changed, 50 insertions, 20 deletions
diff --git a/compiler/debug/elf_debug_info_writer.h b/compiler/debug/elf_debug_info_writer.h index 30d4b47c6a..558c7d5754 100644 --- a/compiler/debug/elf_debug_info_writer.h +++ b/compiler/debug/elf_debug_info_writer.h @@ -21,6 +21,7 @@ #include <unordered_set> #include <vector> +#include "art_field-inl.h" #include "debug/dwarf/debug_abbrev_writer.h" #include "debug/dwarf/debug_info_entry_writer.h" #include "debug/elf_compilation_unit.h" diff --git a/compiler/optimizing/intrinsics.cc b/compiler/optimizing/intrinsics.cc index 6069f3482c..6236bd87ab 100644 --- a/compiler/optimizing/intrinsics.cc +++ b/compiler/optimizing/intrinsics.cc @@ -16,6 +16,7 @@ #include "intrinsics.h" +#include "art_field-inl.h" #include "art_method-inl.h" #include "class_linker.h" #include "driver/compiler_driver.h" diff --git a/compiler/optimizing/reference_type_propagation.cc b/compiler/optimizing/reference_type_propagation.cc index 39effe0d0a..98332d35fb 100644 --- a/compiler/optimizing/reference_type_propagation.cc +++ b/compiler/optimizing/reference_type_propagation.cc @@ -16,6 +16,7 @@ #include "reference_type_propagation.h" +#include "art_field-inl.h" #include "art_method-inl.h" #include "base/enums.h" #include "class_linker-inl.h" diff --git a/imgdiag/imgdiag.cc b/imgdiag/imgdiag.cc index f307cbc4f5..06a0f231ba 100644 --- a/imgdiag/imgdiag.cc +++ b/imgdiag/imgdiag.cc @@ -28,6 +28,7 @@ #include "android-base/stringprintf.h" +#include "art_field-inl.h" #include "art_method-inl.h" #include "base/unix_file/fd_file.h" #include "gc/space/image_space.h" diff --git a/runtime/art_field-inl.h b/runtime/art_field-inl.h index 0e00977a32..0de0f02f9b 100644 --- a/runtime/art_field-inl.h +++ b/runtime/art_field-inl.h @@ -47,16 +47,6 @@ inline void ArtField::SetDeclaringClass(ObjPtr<mirror::Class> new_declaring_clas declaring_class_ = GcRoot<mirror::Class>(new_declaring_class); } -inline uint32_t ArtField::GetAccessFlags() { - DCHECK(GetDeclaringClass()->IsLoaded() || GetDeclaringClass()->IsErroneous()); - return access_flags_; -} - -inline MemberOffset ArtField::GetOffset() { - DCHECK(GetDeclaringClass()->IsResolved()); - return MemberOffset(offset_); -} - inline MemberOffset ArtField::GetOffsetDuringLinking() { DCHECK(GetDeclaringClass()->IsLoaded() || GetDeclaringClass()->IsErroneous()); return MemberOffset(offset_); diff --git a/runtime/art_field.cc b/runtime/art_field.cc index 7e131040be..bc728f4476 100644 --- a/runtime/art_field.cc +++ b/runtime/art_field.cc @@ -78,5 +78,12 @@ std::string ArtField::PrettyField(bool with_type) { return result; } +void ArtField::GetAccessFlagsDCheck() { + CHECK(GetDeclaringClass()->IsLoaded() || GetDeclaringClass()->IsErroneous()); +} + +void ArtField::GetOffsetDCheck() { + CHECK(GetDeclaringClass()->IsResolved()); +} } // namespace art diff --git a/runtime/art_field.h b/runtime/art_field.h index 666ed8a868..3789b0ce2f 100644 --- a/runtime/art_field.h +++ b/runtime/art_field.h @@ -51,7 +51,12 @@ class ArtField FINAL { return declaring_class_.AddressWithoutBarrier(); } - uint32_t GetAccessFlags() REQUIRES_SHARED(Locks::mutator_lock_); + uint32_t GetAccessFlags() REQUIRES_SHARED(Locks::mutator_lock_) { + if (kIsDebugBuild) { + GetAccessFlagsDCheck(); + } + return access_flags_; + } void SetAccessFlags(uint32_t new_access_flags) REQUIRES_SHARED(Locks::mutator_lock_) { // Not called within a transaction. @@ -80,7 +85,12 @@ class ArtField FINAL { } // Offset to field within an Object. - MemberOffset GetOffset() REQUIRES_SHARED(Locks::mutator_lock_); + MemberOffset GetOffset() REQUIRES_SHARED(Locks::mutator_lock_) { + if (kIsDebugBuild) { + GetOffsetDCheck(); + } + return MemberOffset(offset_); + } static MemberOffset OffsetOffset() { return MemberOffset(OFFSETOF_MEMBER(ArtField, offset_)); @@ -227,6 +237,9 @@ class ArtField FINAL { ObjPtr<mirror::DexCache> dex_cache) REQUIRES_SHARED(Locks::mutator_lock_); + void GetAccessFlagsDCheck() REQUIRES_SHARED(Locks::mutator_lock_); + void GetOffsetDCheck() REQUIRES_SHARED(Locks::mutator_lock_); + GcRoot<mirror::Class> declaring_class_; uint32_t access_flags_ = 0; diff --git a/runtime/art_method.cc b/runtime/art_method.cc index a6ee7eb769..7de8916ad5 100644 --- a/runtime/art_method.cc +++ b/runtime/art_method.cc @@ -21,7 +21,6 @@ #include "android-base/stringprintf.h" #include "arch/context.h" -#include "art_field-inl.h" #include "art_method-inl.h" #include "base/stringpiece.h" #include "class_linker-inl.h" diff --git a/runtime/entrypoints/entrypoint_utils-inl.h b/runtime/entrypoints/entrypoint_utils-inl.h index caf2e5dfee..e03ca790f4 100644 --- a/runtime/entrypoints/entrypoint_utils-inl.h +++ b/runtime/entrypoints/entrypoint_utils-inl.h @@ -39,6 +39,7 @@ #include "runtime.h" #include "stack_map.h" #include "thread.h" +#include "well_known_classes.h" namespace art { diff --git a/runtime/gc/space/image_space.cc b/runtime/gc/space/image_space.cc index ac7293d545..e9f0758b85 100644 --- a/runtime/gc/space/image_space.cc +++ b/runtime/gc/space/image_space.cc @@ -25,6 +25,7 @@ #include "android-base/stringprintf.h" #include "android-base/strings.h" +#include "art_field-inl.h" #include "art_method-inl.h" #include "base/enums.h" #include "base/macros.h" diff --git a/runtime/mirror/class-inl.h b/runtime/mirror/class-inl.h index d78ed7f7e9..2247f7d1eb 100644 --- a/runtime/mirror/class-inl.h +++ b/runtime/mirror/class-inl.h @@ -19,13 +19,14 @@ #include "class.h" -#include "art_field-inl.h" +#include "art_field.h" #include "art_method.h" #include "base/array_slice.h" #include "base/length_prefixed_array.h" +#include "class_linker-inl.h" #include "class_loader.h" #include "common_throws.h" -#include "dex_file.h" +#include "dex_file-inl.h" #include "gc/heap-inl.h" #include "iftable.h" #include "object_array-inl.h" diff --git a/runtime/mirror/class-refvisitor-inl.h b/runtime/mirror/class-refvisitor-inl.h index ffc4af5712..3d52ead0f4 100644 --- a/runtime/mirror/class-refvisitor-inl.h +++ b/runtime/mirror/class-refvisitor-inl.h @@ -19,6 +19,7 @@ #include "class-inl.h" +#include "art_field-inl.h" #include "class_ext-inl.h" namespace art { diff --git a/runtime/mirror/dex_cache-inl.h b/runtime/mirror/dex_cache-inl.h index 37a67e80cf..18e22ef8f8 100644 --- a/runtime/mirror/dex_cache-inl.h +++ b/runtime/mirror/dex_cache-inl.h @@ -19,13 +19,15 @@ #include "dex_cache.h" -#include "art_field-inl.h" +#include "art_field.h" #include "art_method.h" #include "base/casts.h" #include "base/enums.h" #include "base/logging.h" +#include "class_linker.h" #include "dex_file.h" #include "gc_root.h" +#include "gc/heap-inl.h" #include "mirror/class.h" #include "mirror/call_site.h" #include "mirror/method_type.h" diff --git a/runtime/native/java_lang_VMClassLoader.cc b/runtime/native/java_lang_VMClassLoader.cc index 54ab8615c0..a9ba33ecc1 100644 --- a/runtime/native/java_lang_VMClassLoader.cc +++ b/runtime/native/java_lang_VMClassLoader.cc @@ -23,6 +23,7 @@ #include "obj_ptr.h" #include "scoped_fast_native_object_access-inl.h" #include "ScopedUtfChars.h" +#include "well_known_classes.h" #include "zip_archive.h" namespace art { diff --git a/runtime/native/java_lang_reflect_Field.cc b/runtime/native/java_lang_reflect_Field.cc index 9198964f87..0fb3903641 100644 --- a/runtime/native/java_lang_reflect_Field.cc +++ b/runtime/native/java_lang_reflect_Field.cc @@ -18,6 +18,7 @@ #include "android-base/stringprintf.h" +#include "art_field-inl.h" #include "class_linker.h" #include "class_linker-inl.h" #include "common_throws.h" @@ -29,6 +30,7 @@ #include "reflection-inl.h" #include "scoped_fast_native_object_access-inl.h" #include "utils.h" +#include "well_known_classes.h" namespace art { diff --git a/runtime/openjdkjvmti/ti_class.cc b/runtime/openjdkjvmti/ti_class.cc index c3a1acf32b..e0af6e8dee 100644 --- a/runtime/openjdkjvmti/ti_class.cc +++ b/runtime/openjdkjvmti/ti_class.cc @@ -69,6 +69,7 @@ #include "ti_phase.h" #include "ti_redefine.h" #include "utils.h" +#include "well_known_classes.h" namespace openjdkjvmti { diff --git a/runtime/openjdkjvmti/ti_class_loader.cc b/runtime/openjdkjvmti/ti_class_loader.cc index 66357eb32f..5544dde219 100644 --- a/runtime/openjdkjvmti/ti_class_loader.cc +++ b/runtime/openjdkjvmti/ti_class_loader.cc @@ -35,6 +35,7 @@ #include "android-base/stringprintf.h" +#include "art_field-inl.h" #include "art_jvmti.h" #include "base/array_slice.h" #include "base/logging.h" diff --git a/runtime/openjdkjvmti/ti_redefine.cc b/runtime/openjdkjvmti/ti_redefine.cc index 77f507cfe4..41ed86237f 100644 --- a/runtime/openjdkjvmti/ti_redefine.cc +++ b/runtime/openjdkjvmti/ti_redefine.cc @@ -35,6 +35,7 @@ #include "android-base/stringprintf.h" +#include "art_field-inl.h" #include "art_method-inl.h" #include "art_jvmti.h" #include "base/array_slice.h" diff --git a/runtime/openjdkjvmti/ti_search.cc b/runtime/openjdkjvmti/ti_search.cc index f51a98f976..ec139f2004 100644 --- a/runtime/openjdkjvmti/ti_search.cc +++ b/runtime/openjdkjvmti/ti_search.cc @@ -33,6 +33,7 @@ #include "jni.h" +#include "art_field-inl.h" #include "art_jvmti.h" #include "base/enums.h" #include "base/macros.h" @@ -50,6 +51,7 @@ #include "ti_phase.h" #include "thread-inl.h" #include "thread_list.h" +#include "well_known_classes.h" namespace openjdkjvmti { diff --git a/runtime/openjdkjvmti/ti_stack.cc b/runtime/openjdkjvmti/ti_stack.cc index 067c7c153d..1ddf04feb4 100644 --- a/runtime/openjdkjvmti/ti_stack.cc +++ b/runtime/openjdkjvmti/ti_stack.cc @@ -36,8 +36,9 @@ #include <unordered_map> #include <vector> -#include "art_jvmti.h" +#include "art_field-inl.h" #include "art_method-inl.h" +#include "art_jvmti.h" #include "base/bit_utils.h" #include "base/enums.h" #include "base/mutex.h" @@ -54,6 +55,7 @@ #include "thread-inl.h" #include "thread_list.h" #include "thread_pool.h" +#include "well_known_classes.h" namespace openjdkjvmti { diff --git a/runtime/openjdkjvmti/ti_thread.cc b/runtime/openjdkjvmti/ti_thread.cc index e5ff090ddf..3dfa63313d 100644 --- a/runtime/openjdkjvmti/ti_thread.cc +++ b/runtime/openjdkjvmti/ti_thread.cc @@ -32,7 +32,7 @@ #include "ti_thread.h" #include "android-base/strings.h" -#include "art_field.h" +#include "art_field-inl.h" #include "art_jvmti.h" #include "base/logging.h" #include "base/mutex.h" diff --git a/runtime/openjdkjvmti/ti_threadgroup.cc b/runtime/openjdkjvmti/ti_threadgroup.cc index df14333314..dd7be113d6 100644 --- a/runtime/openjdkjvmti/ti_threadgroup.cc +++ b/runtime/openjdkjvmti/ti_threadgroup.cc @@ -31,7 +31,7 @@ #include "ti_threadgroup.h" -#include "art_field.h" +#include "art_field-inl.h" #include "art_jvmti.h" #include "base/logging.h" #include "base/macros.h" diff --git a/runtime/verifier/method_verifier_test.cc b/runtime/verifier/method_verifier_test.cc index be5c18b9eb..bdb6b6879d 100644 --- a/runtime/verifier/method_verifier_test.cc +++ b/runtime/verifier/method_verifier_test.cc @@ -23,7 +23,7 @@ #include "class_linker-inl.h" #include "common_runtime_test.h" -#include "dex_file.h" +#include "dex_file-inl.h" #include "scoped_thread_state_change-inl.h" #include "utils.h" #include "verifier_log_mode.h" diff --git a/runtime/verifier/verifier_deps.cc b/runtime/verifier/verifier_deps.cc index 51ec51f76a..0497a6d6d1 100644 --- a/runtime/verifier/verifier_deps.cc +++ b/runtime/verifier/verifier_deps.cc @@ -18,6 +18,7 @@ #include <cstring> +#include "art_field-inl.h" #include "art_method-inl.h" #include "base/stl_util.h" #include "compiler_callbacks.h" |