diff options
author | David Brazdil <dbrazdil@google.com> | 2019-02-13 21:25:57 +0000 |
---|---|---|
committer | David Brazdil <dbrazdil@google.com> | 2019-02-20 18:32:10 +0000 |
commit | feb228244619237d110d8817865d7647f37b9b4f (patch) | |
tree | 5f30c01597761e6552ea5f770443bc12785a9562 /test/ProfileTestMultiDex | |
parent | 9dcc0733afe9c512e93317291de0b0a7124ef465 (diff) |
Improve `verified`, add `redefined` class status in VerifierDeps
Changes implementation of `unverified_classes_` in VerifierDeps from
std::set<dex::TypeIndex> to `verified_classes_` of type std::vector<bool>
indexed by class def indices. This cleans up the implementation and speeds
up access during fast-verify. Encoding remains the same - a set of indices
of unverified classes - only these are now class def indices.
A second bit vector `redefined_classes_` is added, also indexed by class
def indices. It records classes that were not verified because they were
eclipsed by classes that took precedence during resolution. This allows
VerifierDeps::VerifyInternalClasses to succeed when a class redefined
now was also redefined when the deps were being created because the
class was treated as external and dependencies on it were recorded.
Test: m test-art-gtest-verifier_deps_test
Change-Id: I7bcbe947c3c74535306e6dbb5b288076f320a7bc
Diffstat (limited to 'test/ProfileTestMultiDex')
0 files changed, 0 insertions, 0 deletions