diff options
| author | 2016-08-22 17:54:17 -0700 | |
|---|---|---|
| committer | 2016-08-22 21:30:40 -0700 | |
| commit | 5e26eb1dc8ea89b2ebf4ce4b40cbe18542758fbd (patch) | |
| tree | ac8eaad8db47f667e3290e63f52f6e1c06f9fbad /runtime/interpreter/interpreter_switch_impl.h | |
| parent | cf834d00de838272cf28f2382ffc26fe716aae5c (diff) | |
ART: Clean up interpreter includes
Move goto-interpreter special-cased Clang declarations to goto
implementation file. Separate out declarations into their own
headers. Tag the declarations with thread safety annotations.
Minor compile-time impact when running with -j1.
Change-Id: I03664d4e7dc6361b2510a8c9beb693d23a657c9d
Test: m test-art-host
Test: m ART_TEST_INTERPRETER=true test-art-host
Diffstat (limited to 'runtime/interpreter/interpreter_switch_impl.h')
| -rw-r--r-- | runtime/interpreter/interpreter_switch_impl.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/runtime/interpreter/interpreter_switch_impl.h b/runtime/interpreter/interpreter_switch_impl.h new file mode 100644 index 0000000000..90ec908678 --- /dev/null +++ b/runtime/interpreter/interpreter_switch_impl.h @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ART_RUNTIME_INTERPRETER_INTERPRETER_SWITCH_IMPL_H_ +#define ART_RUNTIME_INTERPRETER_INTERPRETER_SWITCH_IMPL_H_ + +#include "base/macros.h" +#include "base/mutex.h" +#include "dex_file.h" +#include "jvalue.h" + +namespace art { + +class ShadowFrame; +class Thread; + +namespace interpreter { + +template<bool do_access_check, bool transaction_active> +JValue ExecuteSwitchImpl(Thread* self, + const DexFile::CodeItem* code_item, + ShadowFrame& shadow_frame, + JValue result_register, + bool interpret_one_instruction) SHARED_REQUIRES(Locks::mutator_lock_); + +} // namespace interpreter +} // namespace art + +#endif // ART_RUNTIME_INTERPRETER_INTERPRETER_SWITCH_IMPL_H_ |