diff options
author | Lokesh Gidra <lokeshgidra@google.com> | 2018-12-05 01:10:40 -0800 |
---|---|---|
committer | Lokesh Gidra <lokeshgidra@google.com> | 2018-12-17 14:53:24 -0800 |
commit | d0c5b255523a55150f6f89a5771a8958ebf04877 (patch) | |
tree | 34182aea0597a79aacb5cff1636c0e4bb3c0e80f /compiler/optimizing/graph_visualizer.cc | |
parent | 8f320f5211c982bb84b8f750c1de275e1812c674 (diff) |
Speedup marking inter-region refs in 2-phase CC
Using card table to indicate objects with inter-regions references has
performance implications. Due to coarse-granularity of card-table,
it leads to excessive number of unneeded objects being re-visited. Also,
it forces calling Scan with true for kNoUnEvac as the distinction
between mutated objects and ones with inter-region references is lost.
A separate bitmap is introduced which is updated in the marking phase
during full-heap GC to track objects with inter-region references. Then,
in copying phase, this bitmap is scanned to re-visit such objects.
Test: art/test/testrunner/testrunner.py --target --runtime-option=-XX:DumpGCPerformanceOnShutdown
Bug: 112720851
Change-Id: Idd032c18ffdddc13c71668502ef1f53a19dcee71
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
0 files changed, 0 insertions, 0 deletions