diff options
author | 2018-07-18 15:39:16 +0000 | |
---|---|---|
committer | 2018-07-18 16:10:50 -0700 | |
commit | d7da3147fea647ade418337aed6a8f9402412611 (patch) | |
tree | 74907194b84807ae327ba9aff876e1f9d4bbf7a4 /runtime/jit/jit_code_cache.h | |
parent | eee2ee8e17aa65656e9946c5beb4a0a49fee7509 (diff) |
Revert^4 "Rewrite JVMTI method tracing to use trampolines"
Since we are unable to change the semantics of ClassLoaded and
ClassPrepared due to b/111394423 for the moment changes were made in
libjdwp to remove the deadlock between the jit being stopped and
jit-threads trying to lock JVMTI monitors in libjdwp.
Until some resolution for b/111394423 is implemented agents should be
very careful about gaining locks in the ClassLoaded, ClassPrepared or
VMObjectAlloc events if said lock is held over a call to
SetEventNotificationMode, SetExtensionEventCallback,
RetransformClasses, or RedefineClasses. These locks can only be
safely held if the object argument to the event is not an array-class
object or the thread is known not to be a jit thread.
This reverts commit bf2ca05ccf658a9f626d1cb3f1adca6087ece7b8.
Bug: 111394423
Test: ./art/tools/run-libjdwp-tests.sh --mode=host --debug
Reason for revert: Fixed issue with libjdwp deadlocking on jit threads
Change-Id: I8baeb8311f67062cbc26286eb221da34e1972f27
Diffstat (limited to 'runtime/jit/jit_code_cache.h')
-rw-r--r-- | runtime/jit/jit_code_cache.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/runtime/jit/jit_code_cache.h b/runtime/jit/jit_code_cache.h index 49a19a18f1..ee6111a430 100644 --- a/runtime/jit/jit_code_cache.h +++ b/runtime/jit/jit_code_cache.h @@ -215,6 +215,8 @@ class JitCodeCache { REQUIRES(!lock_) REQUIRES_SHARED(Locks::mutator_lock_); + void ClearAllCompiledDexCode() REQUIRES(!lock_, Locks::mutator_lock_); + void CopyInlineCacheInto(const InlineCache& ic, Handle<mirror::ObjectArray<mirror::Class>> array) REQUIRES(!lock_) REQUIRES_SHARED(Locks::mutator_lock_); |