# HG changeset patch # User Roland Schatz # Date 1403546265 -7200 # Node ID d69ede72299adaa85f861a539d529955b756b181 # Parent 0244e5bdddc140a8bf75bf74dfe27dbb05f02ccc Expose loadStamp method in HotSpotLoweringProvider interface. diff -r 0244e5bdddc1 -r d69ede72299a graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotLoweringProvider.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotLoweringProvider.java Mon Jun 23 17:45:34 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotLoweringProvider.java Mon Jun 23 19:57:45 2014 +0200 @@ -23,6 +23,7 @@ package com.oracle.graal.hotspot.meta; import com.oracle.graal.api.meta.*; +import com.oracle.graal.compiler.common.type.*; import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.nodes.*; @@ -40,6 +41,8 @@ IndexedLocationNode createArrayLocation(Graph graph, Kind elementKind, ValueNode index, boolean initialization); + Stamp loadStamp(Stamp stamp, Kind kind); + ValueNode implicitLoadConvert(StructuredGraph graph, Kind kind, ValueNode value); ValueNode implicitStoreConvert(StructuredGraph graph, Kind kind, ValueNode value); diff -r 0244e5bdddc1 -r d69ede72299a graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java Mon Jun 23 17:45:34 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java Mon Jun 23 19:57:45 2014 +0200 @@ -109,7 +109,7 @@ StructuredGraph graph = loadField.graph(); ResolvedJavaField field = loadField.field(); ValueNode object = loadField.isStatic() ? staticFieldBase(graph, field) : loadField.object(); - Stamp loadStamp = loadStamp(loadField.stamp(), field.getKind(), true); + Stamp loadStamp = loadStamp(loadField.stamp(), field.getKind()); ConstantLocationNode location = createFieldLocation(graph, field, false); assert location != null : "Field that is loaded must not be eliminated"; @@ -158,7 +158,7 @@ StructuredGraph graph = loadIndexed.graph(); Kind elementKind = loadIndexed.elementKind(); LocationNode location = createArrayLocation(graph, elementKind, loadIndexed.index(), false); - Stamp loadStamp = loadStamp(loadIndexed.stamp(), elementKind, true); + Stamp loadStamp = loadStamp(loadIndexed.stamp(), elementKind); ReadNode memoryRead = graph.add(new ReadNode(loadIndexed.array(), location, loadStamp, BarrierType.NONE)); ValueNode readValue = implicitLoadConvert(graph, elementKind, memoryRead); @@ -503,6 +503,10 @@ protected abstract LocationIdentity initLocationIdentity(); + public Stamp loadStamp(Stamp stamp, Kind kind) { + return loadStamp(stamp, kind, true); + } + protected Stamp loadStamp(Stamp stamp, Kind kind, @SuppressWarnings("unused") boolean compressible) { switch (kind) { case Boolean: