diff options
author | 2022-02-20 15:50:38 +0000 | |
---|---|---|
committer | 2022-02-21 10:29:12 +0000 | |
commit | 17958de62ddb522b009e5968227c650a7af6f3cb (patch) | |
tree | dd23378cada620c62e1942748e2bf101a379996c | |
parent | 7134a716752c81b9476d4acaef57683a72fb08ba (diff) |
Move InterpreterCache::{Get,Set} to inl.h file
Trivial code movement.
Test: test.py -b -r --host
Change-Id: I1d671aae41bae081e7943b3124edd75ae128a1ef
-rw-r--r-- | runtime/interpreter/interpreter_cache-inl.h | 41 | ||||
-rw-r--r-- | runtime/interpreter/interpreter_cache.h | 15 | ||||
-rw-r--r-- | runtime/interpreter/interpreter_common.h | 1 | ||||
-rw-r--r-- | runtime/interpreter/mterp/nterp.cc | 1 |
4 files changed, 45 insertions, 13 deletions
diff --git a/runtime/interpreter/interpreter_cache-inl.h b/runtime/interpreter/interpreter_cache-inl.h new file mode 100644 index 0000000000..3a179483f1 --- /dev/null +++ b/runtime/interpreter/interpreter_cache-inl.h @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2022 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_CACHE_INL_H_ +#define ART_RUNTIME_INTERPRETER_INTERPRETER_CACHE_INL_H_ + +#include "interpreter_cache.h" + +namespace art { + +inline bool InterpreterCache::Get(const void* key, /* out */ size_t* value) { + DCHECK(IsCalledFromOwningThread()); + Entry& entry = data_[IndexOf(key)]; + if (LIKELY(entry.first == key)) { + *value = entry.second; + return true; + } + return false; +} + +inline void InterpreterCache::Set(const void* key, size_t value) { + DCHECK(IsCalledFromOwningThread()); + data_[IndexOf(key)] = Entry{key, value}; +} + +} // namespace art + +#endif // ART_RUNTIME_INTERPRETER_INTERPRETER_CACHE_INL_H_ diff --git a/runtime/interpreter/interpreter_cache.h b/runtime/interpreter/interpreter_cache.h index 0ada562438..99c7afe1e5 100644 --- a/runtime/interpreter/interpreter_cache.h +++ b/runtime/interpreter/interpreter_cache.h @@ -62,20 +62,9 @@ class ALIGNED(16) InterpreterCache { // Clear the whole cache. It requires the owning thread for DCHECKs. void Clear(Thread* owning_thread); - ALWAYS_INLINE bool Get(const void* key, /* out */ size_t* value) { - DCHECK(IsCalledFromOwningThread()); - Entry& entry = data_[IndexOf(key)]; - if (LIKELY(entry.first == key)) { - *value = entry.second; - return true; - } - return false; - } + ALWAYS_INLINE bool Get(const void* key, /* out */ size_t* value); - ALWAYS_INLINE void Set(const void* key, size_t value) { - DCHECK(IsCalledFromOwningThread()); - data_[IndexOf(key)] = Entry{key, value}; - } + ALWAYS_INLINE void Set(const void* key, size_t value); std::array<Entry, kSize>& GetArray() { return data_; diff --git a/runtime/interpreter/interpreter_common.h b/runtime/interpreter/interpreter_common.h index df18eeb124..e3c13a20d7 100644 --- a/runtime/interpreter/interpreter_common.h +++ b/runtime/interpreter/interpreter_common.h @@ -46,6 +46,7 @@ #include "dex/dex_instruction-inl.h" #include "entrypoints/entrypoint_utils-inl.h" #include "handle_scope-inl.h" +#include "interpreter_cache-inl.h" #include "interpreter_switch_impl.h" #include "jit/jit-inl.h" #include "mirror/call_site.h" diff --git a/runtime/interpreter/mterp/nterp.cc b/runtime/interpreter/mterp/nterp.cc index 89e6a134e1..bd5636ca6a 100644 --- a/runtime/interpreter/mterp/nterp.cc +++ b/runtime/interpreter/mterp/nterp.cc @@ -24,6 +24,7 @@ #include "dex/dex_instruction_utils.h" #include "debugger.h" #include "entrypoints/entrypoint_utils-inl.h" +#include "interpreter/interpreter_cache-inl.h" #include "interpreter/interpreter_common.h" #include "interpreter/interpreter_intrinsics.h" #include "interpreter/shadow_frame-inl.h" |