Mercurial > hg > graal-compiler
changeset 13656:cd14eb248cec
get holder class from metaspace method when resolving MemberName target method; not necessarily the same as MemberName.clazz
author | Andreas Woess <andreas.woess@jku.at> |
---|---|
date | Thu, 16 Jan 2014 20:53:18 +0100 |
parents | fff17b5dff8a |
children | 3730b9979305 |
files | graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/AbstractMethodHandleNode.java |
diffstat | 1 files changed, 2 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/AbstractMethodHandleNode.java Thu Jan 16 17:50:58 2014 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/AbstractMethodHandleNode.java Thu Jan 16 20:53:18 2014 +0100 @@ -176,9 +176,9 @@ // Create a method from the vmtarget pointer Class<?> c = (Class<?>) clazz.asObject(); HotSpotResolvedObjectType holderClass = (HotSpotResolvedObjectType) HotSpotResolvedObjectType.fromClass(c); - HotSpotResolvedJavaMethod targetMethod = holderClass.createMethod(vmtarget.asLong()); + HotSpotResolvedJavaMethod targetMethod = HotSpotResolvedJavaMethod.fromMetaspace(vmtarget.asLong()); - // In lamda forms we erase signature types to avoid resolving issues + // In lambda forms we erase signature types to avoid resolving issues // involving class loaders. When we optimize a method handle invoke // to a direct call we must cast the receiver and arguments to its // actual types.