Mercurial > hg > graal-jvmci-8
diff src/share/vm/jvmci/jvmciCompilerToVM.cpp @ 24100:839dcc4f2cf6 jvmci-0.24
handle signature polymorphic methods correctly (JDK-8161550)
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 08 Feb 2017 23:49:32 +0100 |
parents | f161917eed57 |
children | b48ccfe53101 |
line wrap: on
line diff
--- a/src/share/vm/jvmci/jvmciCompilerToVM.cpp Wed Feb 08 23:25:01 2017 +0100 +++ b/src/share/vm/jvmci/jvmciCompilerToVM.cpp Wed Feb 08 23:49:32 2017 +0100 @@ -938,6 +938,11 @@ Symbol* h_name = method->name(); Symbol* h_signature = method->signature(); + vmIntrinsics::ID iid = method()->intrinsic_id(); + if (MethodHandles::is_signature_polymorphic(iid) && MethodHandles::is_signature_polymorphic_intrinsic(iid)) { + // Signature polymorphic methods are already resolved, JVMCI just returns NULL in this case. + return NULL; + } methodHandle m; // Only do exact lookup if receiver klass has been linked. Otherwise, // the vtable has not been setup, and the LinkResolver will fail.