diff options
author | Mathieu Chartier <mathieuc@google.com> | 2014-01-28 14:50:23 -0800 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2014-02-11 10:40:10 -0800 |
commit | 83c8ee000d525017ead8753fce6bc1020249b96a (patch) | |
tree | d5167ed15dee2629905ac3640b6ea0578d4ae312 /runtime/verifier | |
parent | 7cba217ab0661d74deccbb97160cdf60b74d4ea3 (diff) | |
download | android_art-83c8ee000d525017ead8753fce6bc1020249b96a.tar.gz android_art-83c8ee000d525017ead8753fce6bc1020249b96a.tar.bz2 android_art-83c8ee000d525017ead8753fce6bc1020249b96a.zip |
Add root types and thread id to root visiting.
Enables us to pass the root type and thread id to hprof.
Bug: 12680863
Change-Id: I6a0f1f9e3aa8f9b4033d695818ae7ca3460d67cb
Diffstat (limited to 'runtime/verifier')
-rw-r--r-- | runtime/verifier/method_verifier.cc | 4 | ||||
-rw-r--r-- | runtime/verifier/method_verifier.h | 2 | ||||
-rw-r--r-- | runtime/verifier/reg_type.cc | 4 | ||||
-rw-r--r-- | runtime/verifier/reg_type.h | 4 | ||||
-rw-r--r-- | runtime/verifier/reg_type_cache.cc | 4 | ||||
-rw-r--r-- | runtime/verifier/reg_type_cache.h | 4 |
6 files changed, 11 insertions, 11 deletions
diff --git a/runtime/verifier/method_verifier.cc b/runtime/verifier/method_verifier.cc index 30be36c978..ab943a629e 100644 --- a/runtime/verifier/method_verifier.cc +++ b/runtime/verifier/method_verifier.cc @@ -3983,8 +3983,8 @@ void MethodVerifier::Shutdown() { verifier::RegTypeCache::ShutDown(); } -void MethodVerifier::VisitRoots(RootVisitor* visitor, void* arg) { - reg_types_.VisitRoots(visitor, arg); +void MethodVerifier::VisitRoots(RootCallback* callback, void* arg) { + reg_types_.VisitRoots(callback, arg); } } // namespace verifier diff --git a/runtime/verifier/method_verifier.h b/runtime/verifier/method_verifier.h index 7c75c9c240..031cfec3b1 100644 --- a/runtime/verifier/method_verifier.h +++ b/runtime/verifier/method_verifier.h @@ -220,7 +220,7 @@ class MethodVerifier { // Describe VRegs at the given dex pc. std::vector<int32_t> DescribeVRegs(uint32_t dex_pc); - void VisitRoots(RootVisitor* visitor, void* arg) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); + void VisitRoots(RootCallback* callback, void* arg) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); // Accessors used by the compiler via CompilerCallback const DexFile::CodeItem* CodeItem() const; diff --git a/runtime/verifier/reg_type.cc b/runtime/verifier/reg_type.cc index f394bce7bf..e56e670743 100644 --- a/runtime/verifier/reg_type.cc +++ b/runtime/verifier/reg_type.cc @@ -969,9 +969,9 @@ void RegType::CheckInvariants() const { } } -void RegType::VisitRoots(RootVisitor* visitor, void* arg) { +void RegType::VisitRoots(RootCallback* callback, void* arg) { if (klass_ != nullptr) { - klass_ = down_cast<mirror::Class*>(visitor(klass_, arg)); + klass_ = down_cast<mirror::Class*>(callback(klass_, arg, 0, kRootUnknown)); } } diff --git a/runtime/verifier/reg_type.h b/runtime/verifier/reg_type.h index 3818375f4e..a23b8c47a5 100644 --- a/runtime/verifier/reg_type.h +++ b/runtime/verifier/reg_type.h @@ -19,8 +19,8 @@ #include "base/macros.h" #include "globals.h" +#include "object_callbacks.h" #include "primitive.h" -#include "root_visitor.h" #include "jni.h" @@ -270,7 +270,7 @@ class RegType { virtual ~RegType() {} - void VisitRoots(RootVisitor* visitor, void* arg) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); + void VisitRoots(RootCallback* callback, void* arg) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); protected: RegType(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) diff --git a/runtime/verifier/reg_type_cache.cc b/runtime/verifier/reg_type_cache.cc index c8a03d6965..5e894edecc 100644 --- a/runtime/verifier/reg_type_cache.cc +++ b/runtime/verifier/reg_type_cache.cc @@ -573,9 +573,9 @@ void RegTypeCache::Dump(std::ostream& os) { } } -void RegTypeCache::VisitRoots(RootVisitor* visitor, void* arg) { +void RegTypeCache::VisitRoots(RootCallback* callback, void* arg) { for (RegType* entry : entries_) { - entry->VisitRoots(visitor, arg); + entry->VisitRoots(callback, arg); } } diff --git a/runtime/verifier/reg_type_cache.h b/runtime/verifier/reg_type_cache.h index 41bc8c9c36..4cc7e61275 100644 --- a/runtime/verifier/reg_type_cache.h +++ b/runtime/verifier/reg_type_cache.h @@ -20,8 +20,8 @@ #include "base/casts.h" #include "base/macros.h" #include "base/stl_util.h" +#include "object_callbacks.h" #include "reg_type.h" -#include "root_visitor.h" #include "runtime.h" #include <stdint.h> @@ -146,7 +146,7 @@ class RegTypeCache { void Dump(std::ostream& os) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); const RegType& RegTypeFromPrimitiveType(Primitive::Type) const; - void VisitRoots(RootVisitor* visitor, void* arg) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); + void VisitRoots(RootCallback* callback, void* arg) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); private: void FillPrimitiveAndSmallConstantTypes() SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); |