comparison src/share/vm/classfile/classFileParser.cpp @ 1846:d55217dc206f

6829194: JSR 292 needs to support compressed oops Reviewed-by: kvn, jrose
author twisti
date Mon, 11 Oct 2010 04:18:58 -0700
parents 0e35fa8ebccd
children a932f331ef90
comparison
equal deleted inserted replaced
1845:a222fcfba398 1846:d55217dc206f
2700 f_name == vmSymbols::vmentry_name() && 2700 f_name == vmSymbols::vmentry_name() &&
2701 (acc_flags & JVM_ACC_STATIC) == 0) { 2701 (acc_flags & JVM_ACC_STATIC) == 0) {
2702 // Adjust the field type from byte to an unmanaged pointer. 2702 // Adjust the field type from byte to an unmanaged pointer.
2703 assert(fac_ptr->nonstatic_byte_count > 0, ""); 2703 assert(fac_ptr->nonstatic_byte_count > 0, "");
2704 fac_ptr->nonstatic_byte_count -= 1; 2704 fac_ptr->nonstatic_byte_count -= 1;
2705 (*fields_ptr)->ushort_at_put(i + instanceKlass::signature_index_offset, 2705
2706 word_sig_index); 2706 (*fields_ptr)->ushort_at_put(i + instanceKlass::signature_index_offset, word_sig_index);
2707 fac_ptr->nonstatic_word_count += 1; 2707 if (UseCompressedOops) fac_ptr->nonstatic_double_count += 1;
2708 else fac_ptr->nonstatic_word_count += 1;
2708 2709
2709 FieldAllocationType atype = (FieldAllocationType) (*fields_ptr)->ushort_at(i + instanceKlass::low_offset); 2710 FieldAllocationType atype = (FieldAllocationType) (*fields_ptr)->ushort_at(i + instanceKlass::low_offset);
2710 assert(atype == NONSTATIC_BYTE, ""); 2711 assert(atype == NONSTATIC_BYTE, "");
2711 FieldAllocationType new_atype = NONSTATIC_WORD; 2712 FieldAllocationType new_atype = (wordSize == longSize) ? NONSTATIC_DOUBLE : NONSTATIC_WORD;
2713 assert(wordSize == longSize || wordSize == jintSize, "ILP32 or LP64");
2712 (*fields_ptr)->ushort_at_put(i + instanceKlass::low_offset, new_atype); 2714 (*fields_ptr)->ushort_at_put(i + instanceKlass::low_offset, new_atype);
2713 2715
2714 found_vmentry = true; 2716 found_vmentry = true;
2715 break; 2717 break;
2716 } 2718 }