Mercurial > hg > graal-jvmci-8
comparison graal/GraalCompiler/src/com/sun/c1x/ir/ExceptionObject.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 | 0c6564c254af |
children | 015be60afcf3 |
comparison
equal
deleted
inserted
replaced
2621:dd115f80acf8 | 2622:91d3952f7eb7 |
---|---|
22 */ | 22 */ |
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.value.*; | |
28 import com.sun.cri.ci.*; | 27 import com.sun.cri.ci.*; |
29 | 28 |
30 /** | 29 /** |
31 * The {@code ExceptionObject} instruction represents the incoming exception object to an exception handler. | 30 * The {@code ExceptionObject} instruction represents the incoming exception object to an exception handler. |
32 */ | 31 */ |
34 | 33 |
35 private static final int INPUT_COUNT = 0; | 34 private static final int INPUT_COUNT = 0; |
36 private static final int SUCCESSOR_COUNT = 0; | 35 private static final int SUCCESSOR_COUNT = 0; |
37 | 36 |
38 /** | 37 /** |
39 * Debug info is required if safepoints are placed at exception handlers. | |
40 */ | |
41 public final FrameState stateBefore; | |
42 | |
43 /** | |
44 * Constructs a new ExceptionObject instruction. | 38 * Constructs a new ExceptionObject instruction. |
45 * @param stateBefore TODO | 39 * @param stateBefore TODO |
46 * @param graph | 40 * @param graph |
47 */ | 41 */ |
48 public ExceptionObject(FrameState stateBefore, Graph graph) { | 42 public ExceptionObject(Graph graph) { |
49 super(CiKind.Object, INPUT_COUNT, SUCCESSOR_COUNT, graph); | 43 super(CiKind.Object, INPUT_COUNT, SUCCESSOR_COUNT, graph); |
50 setFlag(Flag.NonNull); | 44 setFlag(Flag.NonNull); |
51 this.stateBefore = stateBefore; | |
52 } | |
53 | |
54 @Override | |
55 public FrameState stateBefore() { | |
56 return stateBefore; | |
57 } | 45 } |
58 | 46 |
59 @Override | 47 @Override |
60 public void accept(ValueVisitor v) { | 48 public void accept(ValueVisitor v) { |
61 v.visitExceptionObject(this); | 49 v.visitExceptionObject(this); |