comparison graal/GraalCompiler/src/com/sun/c1x/ir/NullCheck.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 440ceca8e3d7
comparison
equal deleted inserted replaced
2621:dd115f80acf8 2622:91d3952f7eb7
23 package com.sun.c1x.ir; 23 package com.sun.c1x.ir;
24 24
25 import com.oracle.graal.graph.*; 25 import com.oracle.graal.graph.*;
26 import com.sun.c1x.debug.*; 26 import com.sun.c1x.debug.*;
27 import com.sun.c1x.util.*; 27 import com.sun.c1x.util.*;
28 import com.sun.c1x.value.*;
29 import com.sun.cri.bytecode.*; 28 import com.sun.cri.bytecode.*;
30 import com.sun.cri.ri.*; 29 import com.sun.cri.ri.*;
31 30
32 /** 31 /**
33 * The {@code NullCheck} class represents an explicit null check instruction. 32 * The {@code NullCheck} class represents an explicit null check instruction.
34 */ 33 */
35 public final class NullCheck extends StateSplit { 34 public final class NullCheck extends Instruction {
36 35
37 private static final int INPUT_COUNT = 1; 36 private static final int INPUT_COUNT = 1;
38 private static final int INPUT_OBJECT = 0; 37 private static final int INPUT_OBJECT = 0;
39 38
40 private static final int SUCCESSOR_COUNT = 0; 39 private static final int SUCCESSOR_COUNT = 0;
64 * Constructs a new NullCheck instruction. 63 * Constructs a new NullCheck instruction.
65 * @param object the instruction producing the object to check against null 64 * @param object the instruction producing the object to check against null
66 * @param stateBefore the state before executing the null check 65 * @param stateBefore the state before executing the null check
67 * @param graph 66 * @param graph
68 */ 67 */
69 public NullCheck(Value object, FrameState stateBefore, Graph graph) { 68 public NullCheck(Value object, Graph graph) {
70 super(object.kind, stateBefore, INPUT_COUNT, SUCCESSOR_COUNT, graph); 69 super(object.kind, INPUT_COUNT, SUCCESSOR_COUNT, graph);
71 setFlag(Flag.NonNull); 70 setFlag(Flag.NonNull);
72 setObject(object); 71 setObject(object);
73 } 72 }
74 73
75 @Override 74 @Override