Mercurial > hg > truffle
changeset 5283:8dd6165d7b73
compute returnStamp on demand in MethodCallTargetNode
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Tue, 24 Apr 2012 17:11:45 +0200 |
parents | de6a7d640ef2 |
children | f0a5e50756ea |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java |
diffstat | 1 files changed, 6 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java Tue Apr 24 17:11:10 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java Tue Apr 24 17:11:45 2012 +0200 @@ -40,7 +40,6 @@ @Data private final RiType returnType; @Data private RiResolvedMethod targetMethod; @Data private InvokeKind invokeKind; - private final Stamp returnStamp; /** * @param arguments @@ -50,12 +49,6 @@ this.invokeKind = invokeKind; this.returnType = returnType; this.targetMethod = targetMethod; - CiKind returnKind = targetMethod.signature().returnKind(false); - if (returnKind == CiKind.Object && returnType instanceof RiResolvedType) { - returnStamp = StampFactory.declared((RiResolvedType) returnType); - } else { - returnStamp = StampFactory.forKind(returnKind); - } } @Override @@ -146,6 +139,11 @@ } public Stamp returnStamp() { - return returnStamp; + CiKind returnKind = targetMethod.signature().returnKind(false); + if (returnKind == CiKind.Object && returnType instanceof RiResolvedType) { + return StampFactory.declared((RiResolvedType) returnType); + } else { + return StampFactory.forKind(returnKind); + } } }