# HG changeset patch # User Gilles Duboscq # Date 1405435802 -7200 # Node ID d780f8b87d8953bce2b2556ecb927628988f2877 # Parent 4d3008ddb5a08ccf604d404110a85202fb2baab1 NonNullParametersPhase (and its HSAIL cousin) should join non-null rather than attempt to re-create the paramater stamp. diff -r 4d3008ddb5a0 -r d780f8b87d89 graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java --- a/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java Tue Jul 15 13:12:58 2014 +0200 +++ b/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java Tue Jul 15 16:50:02 2014 +0200 @@ -238,10 +238,12 @@ @Override protected void run(StructuredGraph graph) { int argCount = 0; + Stamp nonNull = StampFactory.objectNonNull(); for (ParameterNode param : graph.getNodes(ParameterNode.class)) { argCount++; if (argCount < numArgs && param.stamp() instanceof ObjectStamp) { - param.setStamp(StampFactory.declaredNonNull(((ObjectStamp) param.stamp()).type())); + ObjectStamp paramStamp = (ObjectStamp) param.stamp(); + param.setStamp(paramStamp.join(nonNull)); } } } diff -r 4d3008ddb5a0 -r d780f8b87d89 graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/NonNullParametersPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/NonNullParametersPhase.java Tue Jul 15 13:12:58 2014 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/NonNullParametersPhase.java Tue Jul 15 16:50:02 2014 +0200 @@ -34,9 +34,11 @@ @Override protected void run(StructuredGraph graph) { + Stamp nonNull = StampFactory.objectNonNull(); for (ParameterNode param : graph.getNodes(ParameterNode.class)) { if (param.stamp() instanceof ObjectStamp) { - param.setStamp(StampFactory.declaredNonNull(((ObjectStamp) param.stamp()).type())); + ObjectStamp paramStamp = (ObjectStamp) param.stamp(); + param.setStamp(paramStamp.join(nonNull)); } } }