summaryrefslogtreecommitdiff
path: root/compiler/optimizing/codegen_test_utils.h
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2017-04-27 11:32:14 -0700
committerMathieu Chartier <mathieuc@google.com>2017-05-01 09:37:01 -0700
commit88d329a698ba186aeb1f1ef8794355512ada84a9 (patch)
treebb34e52fde853941b0e17f08cbcdc07b9b7e527d /compiler/optimizing/codegen_test_utils.h
parent3f5f85d9382416b053359c3c1f11ab824843f3b4 (diff)
Add concurrent card graying for immune spaces
We now age the cards and gray the objects before the GC pause. This is done to reduce how much work is required during the pause and allows increasing the card size without regressing the GC pause time. We rescan the cards in the pause and only process the cards that were dirtied since the concurrent graying. Pause time spent graying objects on maps (Pixel). The average is the per GC metric. Disabled entrypoint switching for x86 and x86_64. This is to fix a case where the gray bit is set but the entrypoint is null, resulting in crashes. Also reverted to checking "is gc marking" for x86 and x86_64 codegen to prevent performance regressions. 128 byte cards without the change: Sum: 1.912ms 99% C.I. 125us-244us Avg: 159.333us Max: 244us 512 byte cards without the change: Sum: 12.027ms 99% C.I. 0.940ms-1.495ms Avg: 1.202ms Max: 1.495ms 512 byte cards with concurrent graying: Sum: 1.385ms 99% C.I. 51us-239us Avg: 86.562us Max: 239us Bug: 36457259 Bug: 12687968 Bug: 31022084 Test: test-art-host (cherry picked from commit a3856d0d801f066b9b09649b3a17bdbb747f012d) Change-Id: I7e8f8a5716f96dde827377234f854482452bc9cd
Diffstat (limited to 'compiler/optimizing/codegen_test_utils.h')
0 files changed, 0 insertions, 0 deletions