Abort redefinition if we failed to acquire class object
When there are mutiple redefinitions at a time, which require
holding corresponding class objects on creation (without suspension),
may cause a deadlock with other threads in which we might wait on
those objects as well.
Example:
Thread 1(redefiner): holds class A(on redefinition's creation) -> waits on class B(on another creation)
Thread 2 : holds class B(through monitor instrs) -> waits on class A(at following monitor instrs)
Test: art/test.py -b --host
Change-Id: I706fdae5304b36ec1e580040cf81a42f898fe09c
2 files changed