summaryrefslogtreecommitdiff
path: root/tools/cpp-define-generator
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2020-12-29 20:41:43 +0000
committer Nicolas Geoffray <ngeoffray@google.com> 2021-01-12 09:39:41 +0000
commitc0d392be9172c4c60b3e81b0123489ec3036c401 (patch)
tree13b77bab3a3a8a1acf26dc02d2ee09bcd3a51c36 /tools/cpp-define-generator
parentc38d94449a0ccfefd396d2e01b571f3e804d9e48 (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.def3
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,