ART: Remove ArtMethod::IsAnnotatedWithPolymorphicSignature
Avoids relying on PolymorphicSignature annotation in determining
whether a method is signature polymorphic.
Bug: 65872996
Test: art/test.py --host -j32
Change-Id: If064b92575bf4e4d7eba5dc5332f780e96054fe2
diff --git a/runtime/art_method.h b/runtime/art_method.h
index fe85cb4..ca2e34e 100644
--- a/runtime/art_method.h
+++ b/runtime/art_method.h
@@ -271,11 +271,7 @@
bool IsProxyMethod() REQUIRES_SHARED(Locks::mutator_lock_);
- bool IsPolymorphicSignature() REQUIRES_SHARED(Locks::mutator_lock_) {
- // Methods with a polymorphic signature have constraints that they
- // are native and varargs. Check these first before possibly expensive call.
- return IsNative() && IsVarargs() && IsAnnotatedWithPolymorphicSignature();
- }
+ bool IsPolymorphicSignature() REQUIRES_SHARED(Locks::mutator_lock_);
bool SkipAccessChecks() {
return (GetAccessFlags() & kAccSkipAccessChecks) != 0;
@@ -322,10 +318,6 @@
// -- Unrelated to the GC notion of "critical".
bool IsAnnotatedWithCriticalNative();
- // Checks to see if the method was annotated with
- // @java.lang.invoke.MethodHandle.PolymorphicSignature.
- bool IsAnnotatedWithPolymorphicSignature();
-
// Returns true if this method could be overridden by a default method.
bool IsOverridableByDefaultMethod() REQUIRES_SHARED(Locks::mutator_lock_);