143 vtable_len, itable_len, static_field_size, nonstatic_oop_map_size, rt, |
143 vtable_len, itable_len, static_field_size, nonstatic_oop_map_size, rt, |
144 access_flags, is_anonymous); |
144 access_flags, is_anonymous); |
145 } else { |
145 } else { |
146 // normal class |
146 // normal class |
147 ik = new (loader_data, size, THREAD) InstanceKlass( |
147 ik = new (loader_data, size, THREAD) InstanceKlass( |
148 vtable_len, itable_len, static_field_size, nonstatic_oop_map_size, rt, |
148 vtable_len, itable_len, static_field_size, nonstatic_oop_map_size, |
149 access_flags, is_anonymous); |
149 InstanceKlass::_misc_kind_other, rt, access_flags, is_anonymous); |
150 } |
150 } |
151 } else { |
151 } else { |
152 // reference klass |
152 // reference klass |
153 ik = new (loader_data, size, THREAD) InstanceRefKlass( |
153 ik = new (loader_data, size, THREAD) InstanceRefKlass( |
154 vtable_len, itable_len, static_field_size, nonstatic_oop_map_size, rt, |
154 vtable_len, itable_len, static_field_size, nonstatic_oop_map_size, rt, |
193 |
193 |
194 InstanceKlass::InstanceKlass(int vtable_len, |
194 InstanceKlass::InstanceKlass(int vtable_len, |
195 int itable_len, |
195 int itable_len, |
196 int static_field_size, |
196 int static_field_size, |
197 int nonstatic_oop_map_size, |
197 int nonstatic_oop_map_size, |
|
198 unsigned kind, |
198 ReferenceType rt, |
199 ReferenceType rt, |
199 AccessFlags access_flags, |
200 AccessFlags access_flags, |
200 bool is_anonymous) { |
201 bool is_anonymous) { |
201 No_Safepoint_Verifier no_safepoint; // until k becomes parsable |
202 No_Safepoint_Verifier no_safepoint; // until k becomes parsable |
202 |
203 |
207 set_itable_length(itable_len); |
208 set_itable_length(itable_len); |
208 set_static_field_size(static_field_size); |
209 set_static_field_size(static_field_size); |
209 set_nonstatic_oop_map_size(nonstatic_oop_map_size); |
210 set_nonstatic_oop_map_size(nonstatic_oop_map_size); |
210 set_access_flags(access_flags); |
211 set_access_flags(access_flags); |
211 _misc_flags = 0; // initialize to zero |
212 _misc_flags = 0; // initialize to zero |
|
213 set_kind(kind); |
212 set_is_anonymous(is_anonymous); |
214 set_is_anonymous(is_anonymous); |
213 assert(size() == iksize, "wrong size for object"); |
215 assert(size() == iksize, "wrong size for object"); |
214 |
216 |
215 set_array_klasses(NULL); |
217 set_array_klasses(NULL); |
216 set_methods(NULL); |
218 set_methods(NULL); |