311
312 // signature
313 int signature_index() const { return _signature_index; }
314 void set_signature_index(int index) { _signature_index = index; }
315
316 // generics support
317 int generic_signature_index() const {
318 if (has_generic_signature()) {
319 return *generic_signature_index_addr();
320 } else {
321 return 0;
322 }
323 }
324 void set_generic_signature_index(u2 index) {
325 assert(has_generic_signature(), "");
326 u2* addr = generic_signature_index_addr();
327 *addr = index;
328 }
329
330 // Sizing
331 static int header_size() {
332 return sizeof(ConstMethod)/HeapWordSize;
333 }
334
335 // Size needed
336 static int size(int code_size, InlineTableSizes* sizes);
337
338 int size() const { return _constMethod_size;}
339 void set_constMethod_size(int size) { _constMethod_size = size; }
340 #if INCLUDE_SERVICES
341 void collect_statistics(KlassSizeStats *sz) const;
342 #endif
343
344 // code size
345 int code_size() const { return _code_size; }
346 void set_code_size(int size) {
347 assert(max_method_code_size < (1 << 16),
348 "u2 is too small to hold method code size in general");
349 assert(0 <= size && size <= max_method_code_size, "invalid code size");
350 _code_size = size;
351 }
352
353 // linenumber table - note that length is unknown until decompression,
|
311
312 // signature
313 int signature_index() const { return _signature_index; }
314 void set_signature_index(int index) { _signature_index = index; }
315
316 // generics support
317 int generic_signature_index() const {
318 if (has_generic_signature()) {
319 return *generic_signature_index_addr();
320 } else {
321 return 0;
322 }
323 }
324 void set_generic_signature_index(u2 index) {
325 assert(has_generic_signature(), "");
326 u2* addr = generic_signature_index_addr();
327 *addr = index;
328 }
329
330 // Sizing
331 static int header_size() { return sizeof(ConstMethod)/wordSize; }
332
333 // Size needed
334 static int size(int code_size, InlineTableSizes* sizes);
335
336 int size() const { return _constMethod_size;}
337 void set_constMethod_size(int size) { _constMethod_size = size; }
338 #if INCLUDE_SERVICES
339 void collect_statistics(KlassSizeStats *sz) const;
340 #endif
341
342 // code size
343 int code_size() const { return _code_size; }
344 void set_code_size(int size) {
345 assert(max_method_code_size < (1 << 16),
346 "u2 is too small to hold method code size in general");
347 assert(0 <= size && size <= max_method_code_size, "invalid code size");
348 _code_size = size;
349 }
350
351 // linenumber table - note that length is unknown until decompression,
|