diff options
author | Ian Rogers <irogers@google.com> | 2013-10-09 17:58:57 -0700 |
---|---|---|
committer | Ian Rogers <irogers@google.com> | 2013-10-10 17:26:04 -0700 |
commit | 241b5de2d3cf06868ac31f1153aa0b32ddb07b20 (patch) | |
tree | 6161a90ea504c3907d171f16ca7d94817bbf8b9a /runtime/entrypoints/entrypoint_utils.h | |
parent | 252a00273bc945ebe4a1d77d82d085fdff2ae769 (diff) | |
download | art-241b5de2d3cf06868ac31f1153aa0b32ddb07b20.zip art-241b5de2d3cf06868ac31f1153aa0b32ddb07b20.tar.gz art-241b5de2d3cf06868ac31f1153aa0b32ddb07b20.tar.bz2 |
Clinits may not have the kAccConstructor flag.
Bug: 11157540
Set the clinit access flag when we load the method and warn about badly
formed access flags.
Change-Id: I515c692095051f84f98510722ab764591185918e
Diffstat (limited to 'runtime/entrypoints/entrypoint_utils.h')
-rw-r--r-- | runtime/entrypoints/entrypoint_utils.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/entrypoints/entrypoint_utils.h b/runtime/entrypoints/entrypoint_utils.h index e9e6c5a..c32a661 100644 --- a/runtime/entrypoints/entrypoint_utils.h +++ b/runtime/entrypoints/entrypoint_utils.h @@ -312,7 +312,7 @@ static inline mirror::Class* ResolveVerifyAndClinit(uint32_t type_idx, // // Do not set the DexCache InitializedStaticStorage, since that implies <clinit> has finished // running. - if (klass == referring_class && MethodHelper(referrer).IsClassInitializer()) { + if (klass == referring_class && referrer->IsConstructor() && referrer->IsStatic()) { return klass; } if (!class_linker->EnsureInitialized(klass, true, true)) { |