Mercurial > hg > graal-compiler
changeset 21715:67e28e817d32
HotSpotNodePlugin should use providers from GraphBuilderContext
author | Andreas Woess <andreas.woess@oracle.com> |
---|---|
date | Thu, 04 Jun 2015 01:00:44 +0200 |
parents | fb9f7fe34624 |
children | 2f9e4d984d16 |
files | graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotGraphBuilderPlugins.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotNodePlugin.java |
diffstat | 2 files changed, 6 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotGraphBuilderPlugins.java Thu Jun 04 01:00:00 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotGraphBuilderPlugins.java Thu Jun 04 01:00:44 2015 +0200 @@ -78,7 +78,7 @@ NodeIntrinsificationPhase nodeIntrinsificationPhase = new NodeIntrinsificationPhase(metaAccess, constantReflection, snippetReflection, foreignCalls, stampProvider); NodeIntrinsificationPlugin nodeIntrinsificationPlugin = new NodeIntrinsificationPlugin(metaAccess, nodeIntrinsificationPhase, wordTypes, false); HotSpotWordOperationPlugin wordOperationPlugin = new HotSpotWordOperationPlugin(snippetReflection, wordTypes); - HotSpotNodePlugin nodePlugin = new HotSpotNodePlugin(metaAccess, constantReflection, wordOperationPlugin, nodeIntrinsificationPlugin); + HotSpotNodePlugin nodePlugin = new HotSpotNodePlugin(wordOperationPlugin, nodeIntrinsificationPlugin); plugins.appendParameterPlugin(nodePlugin); plugins.appendNodePlugin(nodePlugin);
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotNodePlugin.java Thu Jun 04 01:00:00 2015 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotNodePlugin.java Thu Jun 04 01:00:44 2015 +0200 @@ -51,16 +51,10 @@ * Constant folding of field loads. */ public final class HotSpotNodePlugin implements NodePlugin, ParameterPlugin { - private final MetaAccessProvider metaAccess; - private final ConstantReflectionProvider constantReflection; - protected final WordOperationPlugin wordOperationPlugin; protected final NodeIntrinsificationPlugin nodeIntrinsificationPlugin; - public HotSpotNodePlugin(MetaAccessProvider metaAccess, ConstantReflectionProvider constantReflection, WordOperationPlugin wordOperationPlugin, - NodeIntrinsificationPlugin nodeIntrinsificationPlugin) { - this.metaAccess = metaAccess; - this.constantReflection = constantReflection; + public HotSpotNodePlugin(WordOperationPlugin wordOperationPlugin, NodeIntrinsificationPlugin nodeIntrinsificationPlugin) { this.wordOperationPlugin = wordOperationPlugin; this.nodeIntrinsificationPlugin = nodeIntrinsificationPlugin; } @@ -121,7 +115,7 @@ return false; } - private boolean tryReadField(GraphBuilderContext b, ResolvedJavaField field, JavaConstant object) { + private static boolean tryReadField(GraphBuilderContext b, ResolvedJavaField field, JavaConstant object) { // FieldReadEnabledInImmutableCode is non null only if assertions are enabled if (FieldReadEnabledInImmutableCode != null && ImmutableCode.getValue()) { FieldReadEnabledInImmutableCode.set(Boolean.TRUE); @@ -135,10 +129,10 @@ } } - private boolean tryConstantFold(GraphBuilderContext b, ResolvedJavaField field, JavaConstant object) { - JavaConstant result = constantReflection.readConstantFieldValue(field, object); + private static boolean tryConstantFold(GraphBuilderContext b, ResolvedJavaField field, JavaConstant object) { + JavaConstant result = b.getConstantReflection().readConstantFieldValue(field, object); if (result != null) { - ConstantNode constantNode = ConstantNode.forConstant(result, metaAccess, b.getGraph()); + ConstantNode constantNode = ConstantNode.forConstant(result, b.getMetaAccess(), b.getGraph()); b.push(field.getKind(), constantNode); return true; }