diff options
Diffstat (limited to 'compiler/driver/compiler_driver-inl.h')
-rw-r--r-- | compiler/driver/compiler_driver-inl.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/driver/compiler_driver-inl.h b/compiler/driver/compiler_driver-inl.h index e0c56fcc82..633bc1b1be 100644 --- a/compiler/driver/compiler_driver-inl.h +++ b/compiler/driver/compiler_driver-inl.h @@ -250,8 +250,10 @@ inline bool CompilerDriver::CanAssumeClassIsInitialized(mirror::Class* klass) { inline bool CompilerDriver::CanReferrerAssumeClassIsInitialized(mirror::Class* referrer_class, mirror::Class* klass) { - return (referrer_class != nullptr && referrer_class->IsSubClass(klass)) || - CanAssumeClassIsInitialized(klass); + return (referrer_class != nullptr + && !referrer_class->IsInterface() + && referrer_class->IsSubClass(klass)) + || CanAssumeClassIsInitialized(klass); } inline bool CompilerDriver::IsStaticFieldsClassInitialized(mirror::Class* referrer_class, |