diff options
author | 2021-11-24 11:46:16 +0800 | |
---|---|---|
committer | 2021-12-13 15:50:31 +0000 | |
commit | b087bb226d65a6b1a62102694168b9cdc5b3f665 (patch) | |
tree | 05a1a9fcb5224b8a8acf9c8a34c0af1fcd2b254b /compiler/utils/jni_macro_assembler.h | |
parent | c2b3116e81fbf465088f775613c62eaf61a5644f (diff) |
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
Diffstat (limited to 'compiler/utils/jni_macro_assembler.h')
0 files changed, 0 insertions, 0 deletions