Mercurial > hg > truffle
changeset 16166:d69ede72299a
Expose loadStamp method in HotSpotLoweringProvider interface.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Mon, 23 Jun 2014 19:57:45 +0200 |
parents | 0244e5bdddc1 |
children | 1f4955abca9b |
files | graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotLoweringProvider.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java |
diffstat | 2 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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);
--- 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: