# HG changeset patch # User Andreas Woess # Date 1433372444 -7200 # Node ID 67e28e817d325c9c3d094646bd1d692d5d29398c # Parent fb9f7fe346247968b10ef2669031639686d47445 HotSpotNodePlugin should use providers from GraphBuilderContext diff -r fb9f7fe34624 -r 67e28e817d32 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotGraphBuilderPlugins.java --- 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); diff -r fb9f7fe34624 -r 67e28e817d32 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotNodePlugin.java --- 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; }