diff options
author | 2021-01-08 18:09:36 +0000 | |
---|---|---|
committer | 2021-01-25 09:22:46 +0000 | |
commit | e585964df42e9fd2fab6f209810cb03e1b261ab1 (patch) | |
tree | 35edc923e92389e4fcb0518289aacb72339f1247 /tools/cpp-define-generator | |
parent | 1bcd7cd823826e95827ea2d666291f56fcccb368 (diff) |
When entering nterp, take a fast path for instance calls with 1 argument.
Such methods only take 'this' as an argument and we don't need to fetch
the shorty.
We can make this optimization when doing nterp->compiled as a follow-up,
by checking that the next instruction after the invoke is not
move-result(-wide).
Test: test.py
Bug: 112676029
Change-Id: Ibc7b4d4ca1c636f4ad6572484e0990ccdbd63293
Diffstat (limited to 'tools/cpp-define-generator')
-rw-r--r-- | tools/cpp-define-generator/art_method.def | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/cpp-define-generator/art_method.def b/tools/cpp-define-generator/art_method.def index 7b5606f935..c2e18b1913 100644 --- a/tools/cpp-define-generator/art_method.def +++ b/tools/cpp-define-generator/art_method.def @@ -25,6 +25,8 @@ ASM_DEFINE(ART_METHOD_IS_STATIC_FLAG, art::kAccStatic) 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_DECLARING_CLASS_OFFSET, art::ArtMethod::DeclaringClassOffset().Int32Value()) ASM_DEFINE(ART_METHOD_JNI_OFFSET_32, |