summaryrefslogtreecommitdiff
path: root/tools/cpp-define-generator
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2021-03-15 18:33:23 +0000
committer Nicolas Geoffray <ngeoffray@google.com> 2021-03-23 15:31:45 +0000
commit40cd07c3e6717b28c0137e8d72a067a9f8663ec6 (patch)
tree45cced150c54d6798805882c10607f11b1be9b36 /tools/cpp-define-generator
parent4924ea9ad98832f0ec7db841defca82331ee1b13 (diff)
Add a fast path for nterp entrypoint to avoid fetching the shorty.
When all parameters are references, we don't need to look at the shorty. Use the 0x00100000 flag in the modifiers which is free for non-native methods. Test: test.py Bug: 112676029 Change-Id: Ied9a253f7f7230045dd13188a5b806fb1d6d019d
Diffstat (limited to 'tools/cpp-define-generator')
-rw-r--r--tools/cpp-define-generator/art_method.def4
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/cpp-define-generator/art_method.def b/tools/cpp-define-generator/art_method.def
index c2e18b1913..5e09565df1 100644
--- a/tools/cpp-define-generator/art_method.def
+++ b/tools/cpp-define-generator/art_method.def
@@ -23,10 +23,14 @@ ASM_DEFINE(ART_METHOD_ACCESS_FLAGS_OFFSET,
art::ArtMethod::AccessFlagsOffset().Int32Value())
ASM_DEFINE(ART_METHOD_IS_STATIC_FLAG,
art::kAccStatic)
+ASM_DEFINE(ART_METHOD_NTERP_ENTRY_POINT_FAST_PATH_FLAG,
+ art::kAccNterpEntryPointFastPathFlag)
ASM_DEFINE(ART_METHOD_IMT_MASK,
art::ImTable::kSizeTruncToPowerOfTwo - 1)
ASM_DEFINE(ART_METHOD_IS_STATIC_FLAG_BIT,
art::MostSignificantBit(art::kAccStatic))
+ASM_DEFINE(ART_METHOD_NTERP_ENTRY_POINT_FAST_PATH_FLAG_BIT,
+ art::MostSignificantBit(art::kAccNterpEntryPointFastPathFlag))
ASM_DEFINE(ART_METHOD_DECLARING_CLASS_OFFSET,
art::ArtMethod::DeclaringClassOffset().Int32Value())
ASM_DEFINE(ART_METHOD_JNI_OFFSET_32,