comparison graal/com.oracle.max.cri/src/com/oracle/max/cri/ci/CiFrame.java @ 5129:51111665eda6

Support for recording a leaf graph id for each deoptimization point in the debug info.
author Lukas Stadler <lukas.stadler@jku.at>
date Wed, 21 Mar 2012 10:47:02 +0100
parents a03f3fd16b22
children 2fac5abf145f
comparison
equal deleted inserted replaced
5128:e2da6471a9a1 5129:51111665eda6
63 /** 63 /**
64 * The number of locks in the values array. 64 * The number of locks in the values array.
65 */ 65 */
66 public final int numLocks; 66 public final int numLocks;
67 67
68 public final long leafGraphId;
69
68 public final boolean rethrowException; 70 public final boolean rethrowException;
69 71
70 public final boolean duringCall; 72 public final boolean duringCall;
71 73
72 /** 74 /**
79 * @param values the frame state {@link #values} 81 * @param values the frame state {@link #values}
80 * @param numLocals the number of local variables 82 * @param numLocals the number of local variables
81 * @param numStack the depth of the stack 83 * @param numStack the depth of the stack
82 * @param numLocks the number of locked objects 84 * @param numLocks the number of locked objects
83 */ 85 */
84 public CiFrame(CiFrame caller, RiResolvedMethod method, int bci, boolean rethrowException, boolean duringCall, CiValue[] values, int numLocals, int numStack, int numLocks) { 86 public CiFrame(CiFrame caller, RiResolvedMethod method, int bci, boolean rethrowException, boolean duringCall, CiValue[] values, int numLocals, int numStack, int numLocks, long leafGraphId) {
85 super(caller, method, bci); 87 super(caller, method, bci);
86 assert values != null; 88 assert values != null;
87 this.rethrowException = rethrowException; 89 this.rethrowException = rethrowException;
90 this.duringCall = duringCall;
88 this.values = values; 91 this.values = values;
89 this.numLocks = numLocks;
90 this.numLocals = numLocals; 92 this.numLocals = numLocals;
91 this.numStack = numStack; 93 this.numStack = numStack;
92 this.duringCall = duringCall; 94 this.numLocks = numLocks;
95 this.leafGraphId = leafGraphId;
93 assert !rethrowException || numStack == 1 : "must have exception on top of the stack"; 96 assert !rethrowException || numStack == 1 : "must have exception on top of the stack";
94 } 97 }
95 98
96 /** 99 /**
97 * Gets the value representing the specified local variable. 100 * Gets the value representing the specified local variable.