Mercurial > hg > graal-jvmci-8
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 |