diff options
| author | 2018-12-05 01:10:40 -0800 | |
|---|---|---|
| committer | 2018-12-17 14:53:24 -0800 | |
| commit | d0c5b255523a55150f6f89a5771a8958ebf04877 (patch) | |
| tree | 34182aea0597a79aacb5cff1636c0e4bb3c0e80f /compiler/optimizing/instruction_builder.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/instruction_builder.cc')
0 files changed, 0 insertions, 0 deletions