comparison src/share/vm/classfile/classFileParser.cpp @ 13003:85730a185147

Merge
author ccheung
date Wed, 30 Oct 2013 14:02:27 -0700
parents 1a93f2c5945a
children fce21ac5968d 6795fcebbf42
comparison
equal deleted inserted replaced
13002:1a04de1aaedb 13003:85730a185147
2195 THREAD, u2*, INITIAL_MAX_LVT_NUMBER); 2195 THREAD, u2*, INITIAL_MAX_LVT_NUMBER);
2196 lvt_allocated = true; 2196 lvt_allocated = true;
2197 } 2197 }
2198 if (lvt_cnt == max_lvt_cnt) { 2198 if (lvt_cnt == max_lvt_cnt) {
2199 max_lvt_cnt <<= 1; 2199 max_lvt_cnt <<= 1;
2200 REALLOC_RESOURCE_ARRAY(u2, localvariable_table_length, lvt_cnt, max_lvt_cnt); 2200 localvariable_table_length = REALLOC_RESOURCE_ARRAY(u2, localvariable_table_length, lvt_cnt, max_lvt_cnt);
2201 REALLOC_RESOURCE_ARRAY(u2*, localvariable_table_start, lvt_cnt, max_lvt_cnt); 2201 localvariable_table_start = REALLOC_RESOURCE_ARRAY(u2*, localvariable_table_start, lvt_cnt, max_lvt_cnt);
2202 } 2202 }
2203 localvariable_table_start[lvt_cnt] = 2203 localvariable_table_start[lvt_cnt] =
2204 parse_localvariable_table(code_length, 2204 parse_localvariable_table(code_length,
2205 max_locals, 2205 max_locals,
2206 code_attribute_length, 2206 code_attribute_length,
2224 lvt_allocated = true; 2224 lvt_allocated = true;
2225 } 2225 }
2226 // Parse local variable type table 2226 // Parse local variable type table
2227 if (lvtt_cnt == max_lvtt_cnt) { 2227 if (lvtt_cnt == max_lvtt_cnt) {
2228 max_lvtt_cnt <<= 1; 2228 max_lvtt_cnt <<= 1;
2229 REALLOC_RESOURCE_ARRAY(u2, localvariable_type_table_length, lvtt_cnt, max_lvtt_cnt); 2229 localvariable_type_table_length = REALLOC_RESOURCE_ARRAY(u2, localvariable_type_table_length, lvtt_cnt, max_lvtt_cnt);
2230 REALLOC_RESOURCE_ARRAY(u2*, localvariable_type_table_start, lvtt_cnt, max_lvtt_cnt); 2230 localvariable_type_table_start = REALLOC_RESOURCE_ARRAY(u2*, localvariable_type_table_start, lvtt_cnt, max_lvtt_cnt);
2231 } 2231 }
2232 localvariable_type_table_start[lvtt_cnt] = 2232 localvariable_type_table_start[lvtt_cnt] =
2233 parse_localvariable_table(code_length, 2233 parse_localvariable_table(code_length,
2234 max_locals, 2234 max_locals,
2235 code_attribute_length, 2235 code_attribute_length,
4481 4481
4482 // go thru each method and check if it overrides a final method 4482 // go thru each method and check if it overrides a final method
4483 for (int index = 0; index < num_methods; index++) { 4483 for (int index = 0; index < num_methods; index++) {
4484 Method* m = methods->at(index); 4484 Method* m = methods->at(index);
4485 4485
4486 // skip private, static and <init> methods 4486 // skip static and <init> methods
4487 if ((!m->is_private()) && 4487 if ((!m->is_static()) &&
4488 (!m->is_static()) &&
4489 (m->name() != vmSymbols::object_initializer_name())) { 4488 (m->name() != vmSymbols::object_initializer_name())) {
4490 4489
4491 Symbol* name = m->name(); 4490 Symbol* name = m->name();
4492 Symbol* signature = m->signature(); 4491 Symbol* signature = m->signature();
4493 Klass* k = this_klass->super(); 4492 Klass* k = this_klass->super();