Mercurial > hg > graal-jvmci-8
comparison src/share/vm/classfile/classFileParser.cpp @ 23822:626f594dffa6
8139040: Fix initializations before ShouldNotReachHere() etc. and enable -Wuninitialized on linux.
Reviewed-by: stuefe, coleenp, roland
author | csahu |
---|---|
date | Tue, 01 Mar 2016 12:50:37 +0530 |
parents | c2c7fed86a5e |
children | d109bda16490 |
comparison
equal
deleted
inserted
replaced
23821:2f8db587e1fc | 23822:626f594dffa6 |
---|---|
3188 FieldLayoutInfo* info, | 3188 FieldLayoutInfo* info, |
3189 TRAPS) { | 3189 TRAPS) { |
3190 | 3190 |
3191 // Field size and offset computation | 3191 // Field size and offset computation |
3192 int nonstatic_field_size = _super_klass() == NULL ? 0 : _super_klass()->nonstatic_field_size(); | 3192 int nonstatic_field_size = _super_klass() == NULL ? 0 : _super_klass()->nonstatic_field_size(); |
3193 int next_static_oop_offset; | 3193 int next_static_oop_offset = 0; |
3194 int next_static_double_offset; | 3194 int next_static_double_offset = 0; |
3195 int next_static_word_offset; | 3195 int next_static_word_offset = 0; |
3196 int next_static_short_offset; | 3196 int next_static_short_offset = 0; |
3197 int next_static_byte_offset; | 3197 int next_static_byte_offset = 0; |
3198 int next_nonstatic_oop_offset; | 3198 int next_nonstatic_oop_offset = 0; |
3199 int next_nonstatic_double_offset; | 3199 int next_nonstatic_double_offset = 0; |
3200 int next_nonstatic_word_offset; | 3200 int next_nonstatic_word_offset = 0; |
3201 int next_nonstatic_short_offset; | 3201 int next_nonstatic_short_offset = 0; |
3202 int next_nonstatic_byte_offset; | 3202 int next_nonstatic_byte_offset = 0; |
3203 int first_nonstatic_oop_offset; | 3203 int first_nonstatic_oop_offset = 0; |
3204 int next_nonstatic_field_offset; | 3204 int next_nonstatic_field_offset = 0; |
3205 int next_nonstatic_padded_offset; | 3205 int next_nonstatic_padded_offset = 0; |
3206 | 3206 |
3207 // Count the contended fields by type. | 3207 // Count the contended fields by type. |
3208 // | 3208 // |
3209 // We ignore static fields, because @Contended is not supported for them. | 3209 // We ignore static fields, because @Contended is not supported for them. |
3210 // The layout code below will also ignore the static fields. | 3210 // The layout code below will also ignore the static fields. |
3353 } | 3353 } |
3354 } else { | 3354 } else { |
3355 ShouldNotReachHere(); | 3355 ShouldNotReachHere(); |
3356 } | 3356 } |
3357 | 3357 |
3358 int nonstatic_oop_space_count = 0; | 3358 int nonstatic_oop_space_count = 0; |
3359 int nonstatic_word_space_count = 0; | 3359 int nonstatic_word_space_count = 0; |
3360 int nonstatic_short_space_count = 0; | 3360 int nonstatic_short_space_count = 0; |
3361 int nonstatic_byte_space_count = 0; | 3361 int nonstatic_byte_space_count = 0; |
3362 int nonstatic_oop_space_offset; | 3362 int nonstatic_oop_space_offset = 0; |
3363 int nonstatic_word_space_offset; | 3363 int nonstatic_word_space_offset = 0; |
3364 int nonstatic_short_space_offset; | 3364 int nonstatic_short_space_offset = 0; |
3365 int nonstatic_byte_space_offset; | 3365 int nonstatic_byte_space_offset = 0; |
3366 | 3366 |
3367 // Try to squeeze some of the fields into the gaps due to | 3367 // Try to squeeze some of the fields into the gaps due to |
3368 // long/double alignment. | 3368 // long/double alignment. |
3369 if( nonstatic_double_count > 0 ) { | 3369 if( nonstatic_double_count > 0 ) { |
3370 int offset = next_nonstatic_double_offset; | 3370 int offset = next_nonstatic_double_offset; |
3432 if (fs.is_offset_set()) continue; | 3432 if (fs.is_offset_set()) continue; |
3433 | 3433 |
3434 // contended instance fields are handled below | 3434 // contended instance fields are handled below |
3435 if (fs.is_contended() && !fs.access_flags().is_static()) continue; | 3435 if (fs.is_contended() && !fs.access_flags().is_static()) continue; |
3436 | 3436 |
3437 int real_offset; | 3437 int real_offset = 0; |
3438 FieldAllocationType atype = (FieldAllocationType) fs.allocation_type(); | 3438 FieldAllocationType atype = (FieldAllocationType) fs.allocation_type(); |
3439 | 3439 |
3440 // pack the rest of the fields | 3440 // pack the rest of the fields |
3441 switch (atype) { | 3441 switch (atype) { |
3442 case STATIC_OOP: | 3442 case STATIC_OOP: |
3565 if (!fs.is_contended() || (fs.contended_group() != current_group)) continue; | 3565 if (!fs.is_contended() || (fs.contended_group() != current_group)) continue; |
3566 | 3566 |
3567 // handle statics below | 3567 // handle statics below |
3568 if (fs.access_flags().is_static()) continue; | 3568 if (fs.access_flags().is_static()) continue; |
3569 | 3569 |
3570 int real_offset; | 3570 int real_offset = 0; |
3571 FieldAllocationType atype = (FieldAllocationType) fs.allocation_type(); | 3571 FieldAllocationType atype = (FieldAllocationType) fs.allocation_type(); |
3572 | 3572 |
3573 switch (atype) { | 3573 switch (atype) { |
3574 case NONSTATIC_BYTE: | 3574 case NONSTATIC_BYTE: |
3575 next_nonstatic_padded_offset = align_size_up(next_nonstatic_padded_offset, 1); | 3575 next_nonstatic_padded_offset = align_size_up(next_nonstatic_padded_offset, 1); |