diff options
Diffstat (limited to 'tools/cpp-define-generator')
-rw-r--r-- | tools/cpp-define-generator/constant_dexcache.def | 24 | ||||
-rw-r--r-- | tools/cpp-define-generator/offset_dexcache.def | 21 | ||||
-rw-r--r-- | tools/cpp-define-generator/offsets_all.def | 1 |
3 files changed, 41 insertions, 5 deletions
diff --git a/tools/cpp-define-generator/constant_dexcache.def b/tools/cpp-define-generator/constant_dexcache.def new file mode 100644 index 0000000000..fd197f2b33 --- /dev/null +++ b/tools/cpp-define-generator/constant_dexcache.def @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2016 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. + */ + +#if defined(DEFINE_INCLUDE_DEPENDENCIES) +#include "mirror/dex_cache.h" // art::mirror::DexCache, StringDexCachePair +#endif + +DEFINE_EXPR(STRING_DEX_CACHE_ELEMENT_SIZE_SHIFT, int32_t, art::WhichPowerOf2(sizeof(art::mirror::StringDexCachePair))) +DEFINE_EXPR(STRING_DEX_CACHE_SIZE_MINUS_ONE, int32_t, art::mirror::DexCache::kDexCacheStringCacheSize - 1) +DEFINE_EXPR(STRING_DEX_CACHE_HASH_BITS, int32_t, + art::LeastSignificantBit(art::mirror::DexCache::kDexCacheStringCacheSize))
\ No newline at end of file diff --git a/tools/cpp-define-generator/offset_dexcache.def b/tools/cpp-define-generator/offset_dexcache.def index 3b26518788..4b9d481eb1 100644 --- a/tools/cpp-define-generator/offset_dexcache.def +++ b/tools/cpp-define-generator/offset_dexcache.def @@ -19,16 +19,27 @@ #if defined(DEFINE_INCLUDE_DEPENDENCIES) #include "art_method.h" // art::ArtMethod #include "base/enums.h" // PointerSize +#include "mirror/dex_cache.h" // art::DexCache #endif -#define DEFINE_ART_METHOD_OFFSET(field_name, method_name) \ +#define DEFINE_ART_METHOD_OFFSET_SIZED(field_name, method_name) \ DEFINE_EXPR(ART_METHOD_ ## field_name ## _OFFSET_32, int32_t, art::ArtMethod::method_name##Offset(art::PointerSize::k32).Int32Value()) \ DEFINE_EXPR(ART_METHOD_ ## field_name ## _OFFSET_64, int32_t, art::ArtMethod::method_name##Offset(art::PointerSize::k64).Int32Value()) +#define DEFINE_ART_METHOD_OFFSET(field_name, method_name) \ + DEFINE_EXPR(ART_METHOD_ ## field_name ## _OFFSET, int32_t, art::ArtMethod::method_name##Offset().Int32Value()) + +#define DEFINE_DECLARING_CLASS_OFFSET(field_name, method_name) \ + DEFINE_EXPR(DECLARING_CLASS_ ## field_name ## _OFFSET, int32_t, art::mirror::Class::method_name##Offset().Int32Value()) + // New macro suffix Method Name (of the Offset method) -DEFINE_ART_METHOD_OFFSET(DEX_CACHE_METHODS, DexCacheResolvedMethods) -DEFINE_ART_METHOD_OFFSET(DEX_CACHE_TYPES, DexCacheResolvedTypes) -DEFINE_ART_METHOD_OFFSET(JNI, EntryPointFromJni) -DEFINE_ART_METHOD_OFFSET(QUICK_CODE, EntryPointFromQuickCompiledCode) +DEFINE_ART_METHOD_OFFSET_SIZED(DEX_CACHE_METHODS, DexCacheResolvedMethods) +DEFINE_ART_METHOD_OFFSET_SIZED(DEX_CACHE_TYPES, DexCacheResolvedTypes) +DEFINE_ART_METHOD_OFFSET_SIZED(JNI, EntryPointFromJni) +DEFINE_ART_METHOD_OFFSET_SIZED(QUICK_CODE, EntryPointFromQuickCompiledCode) +DEFINE_ART_METHOD_OFFSET(DECLARING_CLASS, DeclaringClass) +DEFINE_DECLARING_CLASS_OFFSET(DEX_CACHE_STRINGS, DexCacheStrings) #undef DEFINE_ART_METHOD_OFFSET +#undef DEFINE_ART_METHOD_OFFSET_32 +#undef DEFINE_DECLARING_CLASS_OFFSET diff --git a/tools/cpp-define-generator/offsets_all.def b/tools/cpp-define-generator/offsets_all.def index d2d8777100..13371a1f71 100644 --- a/tools/cpp-define-generator/offsets_all.def +++ b/tools/cpp-define-generator/offsets_all.def @@ -48,6 +48,7 @@ // TODO: MIRROR_*_ARRAY offsets (depends on header size) // TODO: MIRROR_STRING offsets (depends on header size) #include "offset_dexcache.def" +#include "constant_dexcache.def" #include "constant_heap.def" #include "constant_lockword.def" #include "constant_globals.def" |