diff options
| -rw-r--r-- | runtime/gc/collector/concurrent_copying.cc | 5 | ||||
| -rw-r--r-- | runtime/gc/verification.cc | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/runtime/gc/collector/concurrent_copying.cc b/runtime/gc/collector/concurrent_copying.cc index 596b4be2c6..849d42a9ed 100644 --- a/runtime/gc/collector/concurrent_copying.cc +++ b/runtime/gc/collector/concurrent_copying.cc @@ -1959,7 +1959,10 @@ inline void ConcurrentCopying::Process(mirror::Object* obj, MemberOffset offset) DCHECK_EQ(Thread::Current(), thread_running_gc_); mirror::Object* ref = obj->GetFieldObject< mirror::Object, kVerifyNone, kWithoutReadBarrier, false>(offset); - mirror::Object* to_ref = Mark</*kGrayImmuneObject*/false, /*kFromGCThread*/true>(ref); + mirror::Object* to_ref = Mark</*kGrayImmuneObject*/false, /*kFromGCThread*/true>( + ref, + /*holder*/ obj, + offset); if (to_ref == ref) { return; } diff --git a/runtime/gc/verification.cc b/runtime/gc/verification.cc index 7b31c8a259..c14f250528 100644 --- a/runtime/gc/verification.cc +++ b/runtime/gc/verification.cc @@ -86,8 +86,8 @@ void Verification::LogHeapCorruption(ObjPtr<mirror::Object> holder, std::ostringstream oss; oss << "GC tried to mark invalid reference " << ref << std::endl; oss << DumpObjectInfo(ref, "ref") << "\n"; + oss << DumpObjectInfo(holder.Ptr(), "holder"); if (holder != nullptr) { - oss << DumpObjectInfo(holder.Ptr(), "holder"); mirror::Class* holder_klass = holder->GetClass<kVerifyNone, kWithoutReadBarrier>(); if (IsValidClass(holder_klass)) { oss << "field_offset=" << offset.Uint32Value(); |