diff options
author | Sebastien Hertz <shertz@google.com> | 2013-10-01 08:47:41 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-10-01 08:47:42 +0000 |
commit | 7ef126ce0593929bcf8fb73d8b1119ce3b95b3f2 (patch) | |
tree | fc5642798c75ccb61cba12ec5e5b35432bca44d3 /runtime/interpreter/interpreter_switch_impl.cc | |
parent | 5b7d0f35e5e884f53fb4a973d13ca5c98e25951a (diff) | |
parent | c67148594b1580c278ae71e3ce5c6fd59bfa6bd3 (diff) | |
download | art-7ef126ce0593929bcf8fb73d8b1119ce3b95b3f2.zip art-7ef126ce0593929bcf8fb73d8b1119ce3b95b3f2.tar.gz art-7ef126ce0593929bcf8fb73d8b1119ce3b95b3f2.tar.bz2 |
Merge "Enable thread analysis on template functions." into dalvik-dev
Diffstat (limited to 'runtime/interpreter/interpreter_switch_impl.cc')
-rw-r--r-- | runtime/interpreter/interpreter_switch_impl.cc | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/runtime/interpreter/interpreter_switch_impl.cc b/runtime/interpreter/interpreter_switch_impl.cc index 82f216a..dcc86e8 100644 --- a/runtime/interpreter/interpreter_switch_impl.cc +++ b/runtime/interpreter/interpreter_switch_impl.cc @@ -51,7 +51,7 @@ namespace interpreter { #define PREAMBLE() template<bool do_access_check> -static JValue ExecuteSwitchImpl(Thread* self, MethodHelper& mh, const DexFile::CodeItem* code_item, +JValue ExecuteSwitchImpl(Thread* self, MethodHelper& mh, const DexFile::CodeItem* code_item, ShadowFrame& shadow_frame, JValue result_register) { bool do_assignability_check = do_access_check; if (UNLIKELY(!shadow_frame.HasReferenceArray())) { @@ -2134,12 +2134,14 @@ static JValue ExecuteSwitchImpl(Thread* self, MethodHelper& mh, const DexFile::C } // NOLINT(readability/fn_size) // Explicit definitions of ExecuteSwitchImpl. -template JValue ExecuteSwitchImpl<true>(Thread* self, MethodHelper& mh, - const DexFile::CodeItem* code_item, - ShadowFrame& shadow_frame, JValue result_register); -template JValue ExecuteSwitchImpl<false>(Thread* self, MethodHelper& mh, - const DexFile::CodeItem* code_item, - ShadowFrame& shadow_frame, JValue result_register); +template SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) HOT_ATTR +JValue ExecuteSwitchImpl<true>(Thread* self, MethodHelper& mh, + const DexFile::CodeItem* code_item, + ShadowFrame& shadow_frame, JValue result_register); +template SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) HOT_ATTR +JValue ExecuteSwitchImpl<false>(Thread* self, MethodHelper& mh, + const DexFile::CodeItem* code_item, + ShadowFrame& shadow_frame, JValue result_register); } // namespace interpreter } // namespace art |