src/share/vm/ci/ciInstanceKlass.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6703888 Cdiff src/share/vm/ci/ciInstanceKlass.cpp

src/share/vm/ci/ciInstanceKlass.cpp

Print this page

        

*** 390,405 **** return 0; } assert(!is_java_lang_Object(), "bootstrap OK"); // Size in bytes of my fields, including inherited fields. ! int fsize = nonstatic_field_size() * wordSize; ciInstanceKlass* super = this->super(); GrowableArray<ciField*>* super_fields = NULL; if (super != NULL && super->has_nonstatic_fields()) { ! int super_fsize = super->nonstatic_field_size() * wordSize; int super_flen = super->nof_nonstatic_fields(); super_fields = super->_nonstatic_fields; assert(super_flen == 0 || super_fields != NULL, "first get nof_fields"); // See if I am no larger than my super; if so, I can use his fields. if (fsize == super_fsize) { --- 390,405 ---- return 0; } assert(!is_java_lang_Object(), "bootstrap OK"); // Size in bytes of my fields, including inherited fields. ! int fsize = nonstatic_field_size() * heapOopSize; ciInstanceKlass* super = this->super(); GrowableArray<ciField*>* super_fields = NULL; if (super != NULL && super->has_nonstatic_fields()) { ! int super_fsize = super->nonstatic_field_size() * heapOopSize; int super_flen = super->nof_nonstatic_fields(); super_fields = super->_nonstatic_fields; assert(super_flen == 0 || super_fields != NULL, "first get nof_fields"); // See if I am no larger than my super; if so, I can use his fields. if (fsize == super_fsize) {
*** 436,446 **** // Note: Two consecutive T_BYTE fields will be separated by wordSize-1 // padding bytes if one of them is declared by a superclass. // This is a minor inefficiency classFileParser.cpp. last_offset = offset + size; } ! assert(last_offset <= (int)sizeof(oopDesc) + fsize, "no overflow"); #endif _nonstatic_fields = fields; return flen; } --- 436,446 ---- // Note: Two consecutive T_BYTE fields will be separated by wordSize-1 // padding bytes if one of them is declared by a superclass. // This is a minor inefficiency classFileParser.cpp. last_offset = offset + size; } ! assert(last_offset <= (int)instanceOopDesc::base_offset_in_bytes() + fsize, "no overflow"); #endif _nonstatic_fields = fields; return flen; }
src/share/vm/ci/ciInstanceKlass.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File