summaryrefslogtreecommitdiff
path: root/runtime/entrypoints/quick/quick_entrypoints.h
diff options
context:
space:
mode:
author ShuJieWang <wangshujie.matt@bytedance.com> 2021-11-24 11:46:16 +0800
committer Treehugger Robot <treehugger-gerrit@google.com> 2021-12-13 15:50:31 +0000
commitb087bb226d65a6b1a62102694168b9cdc5b3f665 (patch)
tree05a1a9fcb5224b8a8acf9c8a34c0af1fcd2b254b /runtime/entrypoints/quick/quick_entrypoints.h
parentc2b3116e81fbf465088f775613c62eaf61a5644f (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 'runtime/entrypoints/quick/quick_entrypoints.h')
0 files changed, 0 insertions, 0 deletions