diff options
author | 2022-05-23 19:00:09 +0000 | |
---|---|---|
committer | 2022-10-05 23:45:16 +0000 | |
commit | 606bd949a021edc3a5cb2f3adf650956fb3f32d0 (patch) | |
tree | fe8dedb8415223b6a447da4f92dbfe7719a06f38 /compiler/common_compiler_test.cc | |
parent | f3c44b410967761680e7285641ba6e15ab45c660 (diff) |
Update native GC roots page-by-page
This CL enables updating native GC-roots during compaction page by
page. It does so by using a single-space linear allocator for allocating
ArtMethods/ArtFields/DexCache etc. and using a per-object header to
describe the kind of object/array and its size. Under the hood it still
uses arena allocator but the arenas are page-aligned regions taken from
a single-space.
This allows us in a future CL to use userfaultfd to protect this space
during the compaction pause and then concurrently update the pages
independently.
Bug: 160737021
Test: ART_USE_READ_BARRIER art/test/testrunner/testrunner.py --host
Change-Id: Ie52243741360f6008feccec76117d34c77ab1dcf
Diffstat (limited to 'compiler/common_compiler_test.cc')
0 files changed, 0 insertions, 0 deletions