OSDN Git Service

Don't hold any lock when visiting classes from JDWP
authorSebastien Hertz <shertz@google.com>
Thu, 28 Aug 2014 12:41:50 +0000 (14:41 +0200)
committerSebastien Hertz <shertz@google.com>
Wed, 3 Sep 2014 08:26:11 +0000 (10:26 +0200)
commit95795e286145a4aece5c4a095fa2e7e88ee2115a
treeacfae2b94be15f029b4834be9bc8192f6a9d1735
parentcd7a048cfac23e6ec3e1ba3ab4c1dddb322eaadf
Don't hold any lock when visiting classes from JDWP

Computes reference type ids of all loaded classes without holding the class
linker lock. Because computing the JDWP reference type id can cause thread
suspension, we can't hold any lock. This is detected in debug build (using
libartd.so) and causes an abort.

Also adds missing thread safety annotations related to ObjectRegistry::lock_.

Bug: 17305632
Bug: 16720689

Change-Id: Id2cbd56624499c09e4755aaef7a9b15d2bdf4c91
runtime/debugger.cc
runtime/jdwp/object_registry.h