changeset 22487:2d56522533a2

Support for subclasses of IntrinsicGraphBuilder
author Christian Wimmer <christian.wimmer@oracle.com>
date Wed, 19 Aug 2015 16:03:54 -0700
parents af21ee97d1db
children f89487f1d185
files graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/IntrinsicGraphBuilder.java
diffstat 1 files changed, 15 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/IntrinsicGraphBuilder.java	Wed Aug 19 15:48:09 2015 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/IntrinsicGraphBuilder.java	Wed Aug 19 16:03:54 2015 -0700
@@ -41,21 +41,26 @@
  */
 public class IntrinsicGraphBuilder implements GraphBuilderContext, Receiver {
 
-    private final MetaAccessProvider metaAccess;
-    private final ConstantReflectionProvider constantReflection;
-    private final StampProvider stampProvider;
-    private final StructuredGraph graph;
-    private final ResolvedJavaMethod method;
-    private final int invokeBci;
-    private FixedWithNextNode lastInstr;
-    private ValueNode[] arguments;
-    private ValueNode returnValue;
+    protected final MetaAccessProvider metaAccess;
+    protected final ConstantReflectionProvider constantReflection;
+    protected final StampProvider stampProvider;
+    protected final StructuredGraph graph;
+    protected final ResolvedJavaMethod method;
+    protected final int invokeBci;
+    protected FixedWithNextNode lastInstr;
+    protected ValueNode[] arguments;
+    protected ValueNode returnValue;
 
     public IntrinsicGraphBuilder(MetaAccessProvider metaAccess, ConstantReflectionProvider constantReflection, StampProvider stampProvider, ResolvedJavaMethod method, int invokeBci) {
+        this(metaAccess, constantReflection, stampProvider, method, invokeBci, AllowAssumptions.YES);
+    }
+
+    protected IntrinsicGraphBuilder(MetaAccessProvider metaAccess, ConstantReflectionProvider constantReflection, StampProvider stampProvider, ResolvedJavaMethod method, int invokeBci,
+                    AllowAssumptions allowAssumptions) {
         this.metaAccess = metaAccess;
         this.constantReflection = constantReflection;
         this.stampProvider = stampProvider;
-        this.graph = new StructuredGraph(method, AllowAssumptions.YES);
+        this.graph = new StructuredGraph(method, allowAssumptions);
         this.method = method;
         this.invokeBci = invokeBci;
         this.lastInstr = graph.start();