diff options
author | 2018-11-16 14:21:47 +0000 | |
---|---|---|
committer | 2018-11-16 14:21:47 +0000 | |
commit | 54c7da9c50ee85ade636605cd6ea18b4c2bc69fa (patch) | |
tree | 57e1a23dcc0beba8e98841b8cf063f6153b08c9b /runtime/class_linker.cc | |
parent | d94653399e2f9f06bbdf629f2affbf9a4fa73b8f (diff) | |
parent | 2bb2fbd2879d0a6d9ebf7acff817079dde89b417 (diff) |
Merge changes Idc6e518c,Ia1cc0506
* changes:
Create SdkVersion enum, migrate users to it
Runtime flags only for fast/slow hiddenapi path
Diffstat (limited to 'runtime/class_linker.cc')
-rw-r--r-- | runtime/class_linker.cc | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc index 35379cc251..ce7dfaf8af 100644 --- a/runtime/class_linker.cc +++ b/runtime/class_linker.cc @@ -3468,14 +3468,8 @@ void ClassLinker::LoadField(const ClassAccessor::Field& field, dst->SetDexFieldIndex(field_idx); dst->SetDeclaringClass(klass.Get()); - // Get access flags from the DexFile. If this is a boot class path class, - // also set its runtime hidden API access flags. - uint32_t access_flags = field.GetAccessFlags(); - if (klass->IsBootStrapClassLoaded()) { - access_flags = hiddenapi::EncodeForRuntime( - access_flags, static_cast<hiddenapi::ApiList>(field.GetHiddenapiFlags())); - } - dst->SetAccessFlags(access_flags); + // Get access flags from the DexFile and set hiddenapi runtime access flags. + dst->SetAccessFlags(field.GetAccessFlags() | hiddenapi::CreateRuntimeFlags(field)); } void ClassLinker::LoadMethod(const DexFile& dex_file, @@ -3491,13 +3485,8 @@ void ClassLinker::LoadMethod(const DexFile& dex_file, dst->SetDeclaringClass(klass.Get()); dst->SetCodeItemOffset(method.GetCodeItemOffset()); - // Get access flags from the DexFile. If this is a boot class path class, - // also set its runtime hidden API access flags. - uint32_t access_flags = method.GetAccessFlags(); - if (klass->IsBootStrapClassLoaded()) { - access_flags = hiddenapi::EncodeForRuntime( - access_flags, static_cast<hiddenapi::ApiList>(method.GetHiddenapiFlags())); - } + // Get access flags from the DexFile and set hiddenapi runtime access flags. + uint32_t access_flags = method.GetAccessFlags() | hiddenapi::CreateRuntimeFlags(method); if (UNLIKELY(strcmp("finalize", method_name) == 0)) { // Set finalizable flag on declaring class. |