OSDN Git Service

Fix DCHECK failures from Class::VisitFieldRoots
authorMathieu Chartier <mathieuc@google.com>
Fri, 10 Apr 2015 21:23:35 +0000 (14:23 -0700)
committerMathieu Chartier <mathieuc@google.com>
Mon, 13 Apr 2015 23:15:22 +0000 (16:15 -0700)
commitd3ed9a320a89cb9b91b2361892c043ab7e112717
tree94d2b646e8ff9b28e0bef735804ce17a6a8be729
parent4b5673b7387804947a1605a906deee132ab28f14
Fix DCHECK failures from Class::VisitFieldRoots

We now use GetDeclaringClassUnchecked when marking roots to fix
flaky test failures. Fixed a race condition in root marking where
we could have non zero field array length with a null pointer.
Fixed a race condition where we could be marking roots before
FixupTemporaryDeclaringClass had finished. The solution is to
only do the declaring class CHECK if we are at least resolved.
Fixed JDWP tests by changing FieldId / MethodId to be 64 bits.

Also some cleanup.

Change-Id: Ibac09519860d93c3f68a5cc964bbc91dc10a279a
runtime/gc_root.h
runtime/handle.h
runtime/jdwp/jdwp.h
runtime/jdwp/jdwp_event.cc
runtime/jdwp/jdwp_handler.cc
runtime/jdwp/jdwp_request.cc
runtime/mirror/class-inl.h
runtime/mirror/object_reference.h
runtime/native/dalvik_system_VMRuntime.cc