summaryrefslogtreecommitdiffstats
path: root/runtime/entrypoints/entrypoint_utils.h
diff options
context:
space:
mode:
authorIan Rogers <irogers@google.com>2013-10-09 17:58:57 -0700
committerIan Rogers <irogers@google.com>2013-10-10 17:26:04 -0700
commit241b5de2d3cf06868ac31f1153aa0b32ddb07b20 (patch)
tree6161a90ea504c3907d171f16ca7d94817bbf8b9a /runtime/entrypoints/entrypoint_utils.h
parent252a00273bc945ebe4a1d77d82d085fdff2ae769 (diff)
downloadart-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.h2
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)) {