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);