diff options
| author | 2016-12-03 01:20:05 +0000 | |
|---|---|---|
| committer | 2016-12-03 01:20:06 +0000 | |
| commit | 0480523e01102e40a072d266e43a18a0ca4344e4 (patch) | |
| tree | 3d38b5a98764fd99d6c5de1a6e9c9509168baef4 /runtime/native/dalvik_system_VMDebug.cc | |
| parent | b487af4fc80ffabe0219657a9690be1316dab8e7 (diff) | |
| parent | cc1b5357f83f0b787d51fbfde3fe870c8a2fa050 (diff) | |
Merge "ART: Clean up ClassLinker"
Diffstat (limited to 'runtime/native/dalvik_system_VMDebug.cc')
| -rw-r--r-- | runtime/native/dalvik_system_VMDebug.cc | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/runtime/native/dalvik_system_VMDebug.cc b/runtime/native/dalvik_system_VMDebug.cc index adf35b6f01..67b2e1c503 100644 --- a/runtime/native/dalvik_system_VMDebug.cc +++ b/runtime/native/dalvik_system_VMDebug.cc @@ -177,8 +177,22 @@ static void VMDebug_resetInstructionCount(JNIEnv* env, jclass) { } static void VMDebug_printLoadedClasses(JNIEnv* env, jclass, jint flags) { + class DumpClassVisitor : public ClassVisitor { + public: + explicit DumpClassVisitor(int dump_flags) : flags_(dump_flags) {} + + bool operator()(ObjPtr<mirror::Class> klass) OVERRIDE REQUIRES_SHARED(Locks::mutator_lock_) { + klass->DumpClass(LOG_STREAM(ERROR), flags_); + return true; + } + + private: + const int flags_; + }; + DumpClassVisitor visitor(flags); + ScopedFastNativeObjectAccess soa(env); - return Runtime::Current()->GetClassLinker()->DumpAllClasses(flags); + return Runtime::Current()->GetClassLinker()->VisitClasses(&visitor); } static jint VMDebug_getLoadedClassCount(JNIEnv* env, jclass) { |