comparison agent/src/share/classes/sun/jvm/hotspot/oops/ConstMethod.java @ 7402:fd74228fd5ca

8004076: Move _max_locals and _size_of_parameters to ConstMethod for better sharing. Summary: Move _max_locals and _size_of_parameters to ConstMethod for better sharing. Reviewed-by: coleenp, minqi, jrose
author jiangli
date Tue, 11 Dec 2012 12:41:31 -0500
parents b2dbd323c668
children 927a311d00f9
comparison
equal deleted inserted replaced
7396:4a2ed49abd51 7402:fd74228fd5ca
67 codeSize = new CIntField(type.getCIntegerField("_code_size"), 0); 67 codeSize = new CIntField(type.getCIntegerField("_code_size"), 0);
68 nameIndex = new CIntField(type.getCIntegerField("_name_index"), 0); 68 nameIndex = new CIntField(type.getCIntegerField("_name_index"), 0);
69 signatureIndex = new CIntField(type.getCIntegerField("_signature_index"), 0); 69 signatureIndex = new CIntField(type.getCIntegerField("_signature_index"), 0);
70 idnum = new CIntField(type.getCIntegerField("_method_idnum"), 0); 70 idnum = new CIntField(type.getCIntegerField("_method_idnum"), 0);
71 maxStack = new CIntField(type.getCIntegerField("_max_stack"), 0); 71 maxStack = new CIntField(type.getCIntegerField("_max_stack"), 0);
72 maxLocals = new CIntField(type.getCIntegerField("_max_locals"), 0);
73 sizeOfParameters = new CIntField(type.getCIntegerField("_size_of_parameters"), 0);
72 74
73 // start of byte code 75 // start of byte code
74 bytecodeOffset = type.getSize(); 76 bytecodeOffset = type.getSize();
75 77
76 type = db.lookupType("CheckedExceptionElement"); 78 type = db.lookupType("CheckedExceptionElement");
94 private static CIntField codeSize; 96 private static CIntField codeSize;
95 private static CIntField nameIndex; 97 private static CIntField nameIndex;
96 private static CIntField signatureIndex; 98 private static CIntField signatureIndex;
97 private static CIntField idnum; 99 private static CIntField idnum;
98 private static CIntField maxStack; 100 private static CIntField maxStack;
101 private static CIntField maxLocals;
102 private static CIntField sizeOfParameters;
99 103
100 // start of bytecode 104 // start of bytecode
101 private static long bytecodeOffset; 105 private static long bytecodeOffset;
102 106
103 private static long checkedExceptionElementSize; 107 private static long checkedExceptionElementSize;
147 return idnum.getValue(this); 151 return idnum.getValue(this);
148 } 152 }
149 153
150 public long getMaxStack() { 154 public long getMaxStack() {
151 return maxStack.getValue(this); 155 return maxStack.getValue(this);
156 }
157
158 public long getMaxLocals() {
159 return maxLocals.getValue(this);
160 }
161
162 public long getSizeOfParameters() {
163 return sizeOfParameters.getValue(this);
152 } 164 }
153 165
154 public Symbol getName() { 166 public Symbol getName() {
155 return getMethod().getName(); 167 return getMethod().getName();
156 } 168 }
245 visitor.doCInt(codeSize, true); 257 visitor.doCInt(codeSize, true);
246 visitor.doCInt(nameIndex, true); 258 visitor.doCInt(nameIndex, true);
247 visitor.doCInt(signatureIndex, true); 259 visitor.doCInt(signatureIndex, true);
248 visitor.doCInt(codeSize, true); 260 visitor.doCInt(codeSize, true);
249 visitor.doCInt(maxStack, true); 261 visitor.doCInt(maxStack, true);
262 visitor.doCInt(maxLocals, true);
263 visitor.doCInt(sizeOfParameters, true);
250 } 264 }
251 265
252 // Accessors 266 // Accessors
253 267
254 public boolean hasLineNumberTable() { 268 public boolean hasLineNumberTable() {