diff options
author | 2019-06-13 12:18:37 +0100 | |
---|---|---|
committer | 2019-06-27 08:25:24 +0000 | |
commit | 31c3daa15da0599b0f916202c49ef4d35e77213b (patch) | |
tree | 3966159700b54af8a39a8b426ab06c8c4b6960f1 /runtime/intern_table.h | |
parent | b476a29a2cda22b86fc1d96e4cc65ce36fb878af (diff) |
GC-independent image layout.
Make sure we visit objects in a defined order, independent
of their order in the heap. The new order depends only on
dex file contents and contents of initialized classes,
thus any non-determinism would have to be contributed by
the class initialization itself rather than GC.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Test: aosp_taimen-userdebug boots.
Test: run-gtests.sh
Test: testrunner.py --target --optimizing
Bug: 26687569
Change-Id: I62521322289a22eb13faae526ba2c3589e6ab381
Diffstat (limited to 'runtime/intern_table.h')
-rw-r--r-- | runtime/intern_table.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/runtime/intern_table.h b/runtime/intern_table.h index 745821d0ca..a5301a5908 100644 --- a/runtime/intern_table.h +++ b/runtime/intern_table.h @@ -132,6 +132,10 @@ class InternTable { REQUIRES(!Roles::uninterruptible_); // Interns a potentially new string in the 'weak' table. May cause thread suspension. + ObjPtr<mirror::String> InternWeak(const char* utf8_data) REQUIRES_SHARED(Locks::mutator_lock_) + REQUIRES(!Roles::uninterruptible_); + + // Interns a potentially new string in the 'weak' table. May cause thread suspension. ObjPtr<mirror::String> InternWeak(ObjPtr<mirror::String> s) REQUIRES_SHARED(Locks::mutator_lock_) REQUIRES(!Roles::uninterruptible_); |