Mercurial > hg > truffle
comparison graal/GraalCompiler/src/com/sun/c1x/ir/Deoptimize.java @ 2773:27512ea6bbcb
exception dispatch simplification:
* BlockMap creates exception dispatch blocks (so they're iterated in the right order)
* GraphBuilder uses exception dispatch blocks, simplified handleException, removed updateDispatchChain
* simplified mergeOrClone
* removed successor & predecessor methods from BlockBegin
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Tue, 24 May 2011 12:07:17 +0200 |
parents | 7b7dbe19fafb |
children | bd17ac598c6e |
comparison
equal
deleted
inserted
replaced
2772:3e3338a1abb9 | 2773:27512ea6bbcb |
---|---|
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.cri.ci.*; | 27 import com.sun.cri.ci.*; |
28 | 28 |
29 | |
30 /** | |
31 * | |
32 */ | |
33 public class Deoptimize extends Instruction { | 29 public class Deoptimize extends Instruction { |
34 | 30 |
35 private static final int INPUT_COUNT = 0; | 31 private static final int INPUT_COUNT = 0; |
36 private static final int SUCCESSOR_COUNT = 0; | 32 private static final int SUCCESSOR_COUNT = 0; |
37 | 33 |
38 /** | 34 private String message; |
39 * @param kind | 35 |
40 * @param inputCount | |
41 * @param successorCount | |
42 * @param graph | |
43 */ | |
44 public Deoptimize(Graph graph) { | 36 public Deoptimize(Graph graph) { |
45 super(CiKind.Illegal, INPUT_COUNT, SUCCESSOR_COUNT, graph); | 37 super(CiKind.Illegal, INPUT_COUNT, SUCCESSOR_COUNT, graph); |
38 } | |
39 | |
40 public void setMessage(String message) { | |
41 this.message = message; | |
42 } | |
43 | |
44 public String message() { | |
45 return message; | |
46 } | 46 } |
47 | 47 |
48 @Override | 48 @Override |
49 public void accept(ValueVisitor v) { | 49 public void accept(ValueVisitor v) { |
50 v.visitDeoptimize(this); | 50 v.visitDeoptimize(this); |
53 @Override | 53 @Override |
54 public void print(LogStream out) { | 54 public void print(LogStream out) { |
55 out.print("deoptimize"); | 55 out.print("deoptimize"); |
56 } | 56 } |
57 | 57 |
58 @Override | |
59 public String shortName() { | |
60 return "Deopt " + message; | |
61 } | |
62 | |
58 } | 63 } |