summaryrefslogtreecommitdiff
path: root/compiler/optimizing/graph_visualizer.cc
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2016-11-22 14:49:31 +0000
committerNicolas Geoffray <ngeoffray@google.com>2016-11-29 21:05:51 +0000
commite51ca8bfa8a193b64901ad214842f213adca92eb (patch)
treeb07b2534edc592d68b5461a3bdb8a31241892d54 /compiler/optimizing/graph_visualizer.cc
parenteb9c58e88f8e0f4a0a413efce04b49b183ad23e3 (diff)
Move inline caches GC handling in JitCodeCache.
Make the classes they hold weak references and visit them during SweepJitRoots. This fixes the newly introduced deadlock: Thread1: 1) Lock JitCodeCache lock to create Profiling info for ArtMethod m. 2) m is a copied method, we need to track the actual holder, needing to decode a weak reference. 3) Weak references are not accessible due to GC. GC Thread: - Disallow weak reference access. - Wait for checkpoint. Thread2: - Try to lock JitCodeCache lock - Deadlock, as Thread1 owns the JitCodeCache lock. Test: test-art-host bug: 31289185 bug: 33198826 Change-Id: I7ee17631015450ace8d2a0264415a81c5a902bb8
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
0 files changed, 0 insertions, 0 deletions