diff graal/GraalCompiler/src/com/sun/c1x/ir/NewInstance.java @ 2622:91d3952f7eb7

Framestate work : using stateAFter and reducting the number of nodes with framestates. Intermediate state (does not pass tests)
author Gilles Duboscq <gilles.duboscq@oracle.com>
date Tue, 10 May 2011 12:37:46 +0200
parents f1bc67c2d453
children 4dd0573f510b
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/NewInstance.java	Tue May 10 11:55:12 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/ir/NewInstance.java	Tue May 10 12:37:46 2011 +0200
@@ -24,14 +24,13 @@
 
 import com.oracle.graal.graph.*;
 import com.sun.c1x.debug.*;
-import com.sun.c1x.value.*;
 import com.sun.cri.ci.*;
 import com.sun.cri.ri.*;
 
 /**
  * The {@code NewInstance} instruction represents the allocation of an instance class object.
  */
-public final class NewInstance extends StateSplit {
+public final class NewInstance extends Instruction {
 
     private static final int INPUT_COUNT = 0;
     private static final int SUCCESSOR_COUNT = 0;
@@ -47,8 +46,8 @@
      * @param stateBefore the state before executing this instruction
      * @param graph
      */
-    public NewInstance(RiType type, int cpi, RiConstantPool constantPool, FrameState stateBefore, Graph graph) {
-        super(CiKind.Object, stateBefore, INPUT_COUNT, SUCCESSOR_COUNT, graph);
+    public NewInstance(RiType type, int cpi, RiConstantPool constantPool, Graph graph) {
+        super(CiKind.Object, INPUT_COUNT, SUCCESSOR_COUNT, graph);
         this.instanceClass = type;
         this.cpi = cpi;
         this.constantPool = constantPool;
@@ -74,6 +73,11 @@
     }
 
     @Override
+    public boolean canTrap() {
+        return true;
+    }
+
+    @Override
     public void accept(ValueVisitor v) {
         v.visitNewInstance(this);
     }