OSDN Git Service

Add class flags to class to help GC scanning
authorMathieu Chartier <mathieuc@google.com>
Wed, 19 Aug 2015 01:35:52 +0000 (18:35 -0700)
committerMathieu Chartier <mathieuc@google.com>
Fri, 21 Aug 2015 17:25:36 +0000 (10:25 -0700)
commit52a7f5caebdf359ab877f1928aad59f1e9ad29fa
treefe23aeb3682128a31c62324e427b906c9804afd3
parent944973e56fd3c04c92d902b05d0148f77ed28a78
Add class flags to class to help GC scanning

Reduces GC time and pauses by reducing the number of loads required
to scan an object.

Average total GC time before on EvaluateAndApplyChanges (EAAC): 7.452s
After: 7.144s

Average GC pause times before on EAAC: 860.67us
After: 722.75us

Adding the class flags field cause a memory increase of ~24k system
wide on low memory devices.

Change-Id: I3f04212d5787bfbf5e55026584d149f55476105e
16 files changed:
runtime/asm_support.h
runtime/class_linker.cc
runtime/class_linker_test.cc
runtime/gc/collector/mark_sweep-inl.h
runtime/gc/collector/mark_sweep.cc
runtime/gc/collector/mark_sweep.h
runtime/gc/heap.cc
runtime/image.cc
runtime/mirror/class-inl.h
runtime/mirror/class.cc
runtime/mirror/class.h
runtime/mirror/class_flags.h [new file with mode: 0644]
runtime/mirror/object-inl.h
runtime/mirror/string.cc
runtime/mirror/string.h
runtime/modifiers.h