# HG changeset patch # User Lukas Stadler # Date 1335280305 -7200 # Node ID 8dd6165d7b7395b66551b3a44edc7d8f5aa3bee5 # Parent de6a7d640ef2c9230ed77392c8629b64456ef46e compute returnStamp on demand in MethodCallTargetNode diff -r de6a7d640ef2 -r 8dd6165d7b73 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java --- 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); + } } }