< prev index next >

src/share/vm/classfile/classFileParser.cpp

Print this page
rev 9067 : 8139040: Fix initializations before ShouldNotReachHere()


3562 
3563       if (fs.is_contended()) {
3564         bm.set_bit(fs.contended_group());
3565       }
3566     }
3567 
3568     int current_group = -1;
3569     while ((current_group = (int)bm.get_next_one_offset(current_group + 1)) != (int)bm.size()) {
3570 
3571       for (AllFieldStream fs(_fields, _cp); !fs.done(); fs.next()) {
3572 
3573         // skip already laid out fields
3574         if (fs.is_offset_set()) continue;
3575 
3576         // skip non-contended fields and fields from different group
3577         if (!fs.is_contended() || (fs.contended_group() != current_group)) continue;
3578 
3579         // handle statics below
3580         if (fs.access_flags().is_static()) continue;
3581 
3582         int real_offset;
3583         FieldAllocationType atype = (FieldAllocationType) fs.allocation_type();
3584 
3585         switch (atype) {
3586           case NONSTATIC_BYTE:
3587             next_nonstatic_padded_offset = align_size_up(next_nonstatic_padded_offset, 1);
3588             real_offset = next_nonstatic_padded_offset;
3589             next_nonstatic_padded_offset += 1;
3590             break;
3591 
3592           case NONSTATIC_SHORT:
3593             next_nonstatic_padded_offset = align_size_up(next_nonstatic_padded_offset, BytesPerShort);
3594             real_offset = next_nonstatic_padded_offset;
3595             next_nonstatic_padded_offset += BytesPerShort;
3596             break;
3597 
3598           case NONSTATIC_WORD:
3599             next_nonstatic_padded_offset = align_size_up(next_nonstatic_padded_offset, BytesPerInt);
3600             real_offset = next_nonstatic_padded_offset;
3601             next_nonstatic_padded_offset += BytesPerInt;
3602             break;




3562 
3563       if (fs.is_contended()) {
3564         bm.set_bit(fs.contended_group());
3565       }
3566     }
3567 
3568     int current_group = -1;
3569     while ((current_group = (int)bm.get_next_one_offset(current_group + 1)) != (int)bm.size()) {
3570 
3571       for (AllFieldStream fs(_fields, _cp); !fs.done(); fs.next()) {
3572 
3573         // skip already laid out fields
3574         if (fs.is_offset_set()) continue;
3575 
3576         // skip non-contended fields and fields from different group
3577         if (!fs.is_contended() || (fs.contended_group() != current_group)) continue;
3578 
3579         // handle statics below
3580         if (fs.access_flags().is_static()) continue;
3581 
3582         int real_offset = 0;
3583         FieldAllocationType atype = (FieldAllocationType) fs.allocation_type();
3584 
3585         switch (atype) {
3586           case NONSTATIC_BYTE:
3587             next_nonstatic_padded_offset = align_size_up(next_nonstatic_padded_offset, 1);
3588             real_offset = next_nonstatic_padded_offset;
3589             next_nonstatic_padded_offset += 1;
3590             break;
3591 
3592           case NONSTATIC_SHORT:
3593             next_nonstatic_padded_offset = align_size_up(next_nonstatic_padded_offset, BytesPerShort);
3594             real_offset = next_nonstatic_padded_offset;
3595             next_nonstatic_padded_offset += BytesPerShort;
3596             break;
3597 
3598           case NONSTATIC_WORD:
3599             next_nonstatic_padded_offset = align_size_up(next_nonstatic_padded_offset, BytesPerInt);
3600             real_offset = next_nonstatic_padded_offset;
3601             next_nonstatic_padded_offset += BytesPerInt;
3602             break;


< prev index next >