diff options
author | 2020-12-29 20:41:43 +0000 | |
---|---|---|
committer | 2021-01-12 09:39:41 +0000 | |
commit | c0d392be9172c4c60b3e81b0123489ec3036c401 (patch) | |
tree | 13b77bab3a3a8a1acf26dc02d2ee09bcd3a51c36 /tools/cpp-define-generator | |
parent | c38d94449a0ccfefd396d2e01b571f3e804d9e48 (diff) |
Improve invokeinterface for nterp.
- Remove bitwise negation of imt_index: the class linker already always
initializes the imt_index.
- Special case the imt index of default methods: to simplify invocation
in nterp, mask the method_index to create the imt index.
- Add arm64, arm, x64 support in nterp.
Test: test.py
Bug: 112676029
Change-Id: I815a4a4ec5c219921ab4ed1a20b02586aab19a46
Diffstat (limited to 'tools/cpp-define-generator')
-rw-r--r-- | tools/cpp-define-generator/art_method.def | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/tools/cpp-define-generator/art_method.def b/tools/cpp-define-generator/art_method.def index 097d4662e1..7b5606f935 100644 --- a/tools/cpp-define-generator/art_method.def +++ b/tools/cpp-define-generator/art_method.def @@ -16,12 +16,15 @@ #if ASM_DEFINE_INCLUDE_DEPENDENCIES #include "art_method.h" +#include "imtable.h" #endif ASM_DEFINE(ART_METHOD_ACCESS_FLAGS_OFFSET, art::ArtMethod::AccessFlagsOffset().Int32Value()) ASM_DEFINE(ART_METHOD_IS_STATIC_FLAG, art::kAccStatic) +ASM_DEFINE(ART_METHOD_IMT_MASK, + art::ImTable::kSizeTruncToPowerOfTwo - 1) ASM_DEFINE(ART_METHOD_DECLARING_CLASS_OFFSET, art::ArtMethod::DeclaringClassOffset().Int32Value()) ASM_DEFINE(ART_METHOD_JNI_OFFSET_32, |