diff options
Diffstat (limited to 'runtime/interpreter/interpreter.cc')
-rw-r--r-- | runtime/interpreter/interpreter.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/runtime/interpreter/interpreter.cc b/runtime/interpreter/interpreter.cc index 68a75b0196..038405eebc 100644 --- a/runtime/interpreter/interpreter.cc +++ b/runtime/interpreter/interpreter.cc @@ -18,6 +18,7 @@ #include <limits> +#include "common_dex_operations.h" #include "common_throws.h" #include "dex_file_types.h" #include "interpreter_common.h" @@ -28,7 +29,7 @@ #include "jvalue-inl.h" #include "mirror/string-inl.h" #include "mterp/mterp.h" -#include "nativehelper/ScopedLocalRef.h" +#include "nativehelper/scoped_local_ref.h" #include "scoped_thread_state_change-inl.h" #include "stack.h" #include "thread-inl.h" @@ -287,11 +288,12 @@ static inline JValue Execute( } } - shadow_frame.GetMethod()->GetDeclaringClass()->AssertInitializedOrInitializingInThread(self); + ArtMethod* method = shadow_frame.GetMethod(); + + DCheckStaticState(self, method); // Lock counting is a special version of accessibility checks, and for simplicity and // reduction of template parameters, we gate it behind access-checks mode. - ArtMethod* method = shadow_frame.GetMethod(); DCHECK(!method->SkipAccessChecks() || !method->MustCountLocks()); bool transaction_active = Runtime::Current()->IsActiveTransaction(); |