equal
deleted
inserted
replaced
1178 _verify_count = Universe::verify_count(); |
1178 _verify_count = Universe::verify_count(); |
1179 #endif |
1179 #endif |
1180 oop* end_of_obj = (oop*)_klass() + _klass()->size(); |
1180 oop* end_of_obj = (oop*)_klass() + _klass()->size(); |
1181 oop* end_of_vtable = (oop *)&table()[_length]; |
1181 oop* end_of_vtable = (oop *)&table()[_length]; |
1182 if (end_of_vtable > end_of_obj) { |
1182 if (end_of_vtable > end_of_obj) { |
1183 fatal1("klass %s: klass object too short (vtable extends beyond end)", |
1183 fatal(err_msg("klass %s: klass object too short (vtable extends beyond " |
1184 _klass->internal_name()); |
1184 "end)", _klass->internal_name())); |
1185 } |
1185 } |
1186 |
1186 |
1187 for (int i = 0; i < _length; i++) table()[i].verify(this, st); |
1187 for (int i = 0; i < _length; i++) table()[i].verify(this, st); |
1188 // verify consistency with superKlass vtable |
1188 // verify consistency with superKlass vtable |
1189 klassOop super = _klass->super(); |
1189 klassOop super = _klass->super(); |
1222 // we sub_type, because it could be a miranda method |
1222 // we sub_type, because it could be a miranda method |
1223 if (!vt->klass()->is_subtype_of(method()->method_holder())) { |
1223 if (!vt->klass()->is_subtype_of(method()->method_holder())) { |
1224 #ifndef PRODUCT |
1224 #ifndef PRODUCT |
1225 print(); |
1225 print(); |
1226 #endif |
1226 #endif |
1227 fatal1("vtableEntry %#lx: method is from subclass", this); |
1227 fatal(err_msg("vtableEntry " PTR_FORMAT ": method is from subclass", this)); |
1228 } |
1228 } |
1229 } |
1229 } |
1230 |
1230 |
1231 #ifndef PRODUCT |
1231 #ifndef PRODUCT |
1232 |
1232 |