summaryrefslogtreecommitdiff
path: root/runtime/jit/jit_code_cache.h
diff options
context:
space:
mode:
author David Srbecky <dsrbecky@google.com> 2020-03-21 13:17:52 +0000
committer David Srbecky <dsrbecky@google.com> 2020-03-23 15:19:32 +0000
commit521644beb8f0a100b08a4cfb91c6aafb469925aa (patch)
treeb316373d4708d8653e6749d5b3a70f4263cf6f94 /runtime/jit/jit_code_cache.h
parent7bbbe25f37ae70bebd121e0b4ea9bd53842281fe (diff)
Call JitCodeCache::FreeAllMethodHeaders under JIT lock.
This ensures that both ArtMethods and the code are removed from the JIT atomically (otherwise other thread can interfere). I am not sure if this is partial issue, but keeping the allocated code and methods in sync makes sanity check happier. Bug: 151137723 Test: test.py -b -r --host --jit --64 Change-Id: I8580a9112c86b277631c0b2f9dd245fd55a73559
Diffstat (limited to 'runtime/jit/jit_code_cache.h')
-rw-r--r--runtime/jit/jit_code_cache.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/jit/jit_code_cache.h b/runtime/jit/jit_code_cache.h
index 1bbe2a4cfe..9ef1e4f98b 100644
--- a/runtime/jit/jit_code_cache.h
+++ b/runtime/jit/jit_code_cache.h
@@ -431,7 +431,7 @@ class JitCodeCache {
// Remove CHA dependents and underlying allocations for entries in `method_headers`.
void FreeAllMethodHeaders(const std::unordered_set<OatQuickMethodHeader*>& method_headers)
REQUIRES_SHARED(Locks::mutator_lock_)
- REQUIRES(!Locks::jit_lock_)
+ REQUIRES(Locks::jit_lock_)
REQUIRES(!Locks::cha_lock_);
// Removes method from the cache. The caller must ensure that all threads