103 MarkSweep::mark_and_push(ik->adr_class_loader()); |
103 MarkSweep::mark_and_push(ik->adr_class_loader()); |
104 MarkSweep::mark_and_push(ik->adr_inner_classes()); |
104 MarkSweep::mark_and_push(ik->adr_inner_classes()); |
105 MarkSweep::mark_and_push(ik->adr_protection_domain()); |
105 MarkSweep::mark_and_push(ik->adr_protection_domain()); |
106 MarkSweep::mark_and_push(ik->adr_host_klass()); |
106 MarkSweep::mark_and_push(ik->adr_host_klass()); |
107 MarkSweep::mark_and_push(ik->adr_signers()); |
107 MarkSweep::mark_and_push(ik->adr_signers()); |
108 MarkSweep::mark_and_push(ik->adr_bootstrap_method()); |
|
109 MarkSweep::mark_and_push(ik->adr_class_annotations()); |
108 MarkSweep::mark_and_push(ik->adr_class_annotations()); |
110 MarkSweep::mark_and_push(ik->adr_fields_annotations()); |
109 MarkSweep::mark_and_push(ik->adr_fields_annotations()); |
111 MarkSweep::mark_and_push(ik->adr_methods_annotations()); |
110 MarkSweep::mark_and_push(ik->adr_methods_annotations()); |
112 MarkSweep::mark_and_push(ik->adr_methods_parameter_annotations()); |
111 MarkSweep::mark_and_push(ik->adr_methods_parameter_annotations()); |
113 MarkSweep::mark_and_push(ik->adr_methods_default_annotations()); |
112 MarkSweep::mark_and_push(ik->adr_methods_default_annotations()); |
140 PSParallelCompact::mark_and_push(cm, ik->adr_class_loader()); |
139 PSParallelCompact::mark_and_push(cm, ik->adr_class_loader()); |
141 PSParallelCompact::mark_and_push(cm, ik->adr_inner_classes()); |
140 PSParallelCompact::mark_and_push(cm, ik->adr_inner_classes()); |
142 PSParallelCompact::mark_and_push(cm, ik->adr_protection_domain()); |
141 PSParallelCompact::mark_and_push(cm, ik->adr_protection_domain()); |
143 PSParallelCompact::mark_and_push(cm, ik->adr_host_klass()); |
142 PSParallelCompact::mark_and_push(cm, ik->adr_host_klass()); |
144 PSParallelCompact::mark_and_push(cm, ik->adr_signers()); |
143 PSParallelCompact::mark_and_push(cm, ik->adr_signers()); |
145 PSParallelCompact::mark_and_push(cm, ik->adr_bootstrap_method()); |
|
146 PSParallelCompact::mark_and_push(cm, ik->adr_class_annotations()); |
144 PSParallelCompact::mark_and_push(cm, ik->adr_class_annotations()); |
147 PSParallelCompact::mark_and_push(cm, ik->adr_fields_annotations()); |
145 PSParallelCompact::mark_and_push(cm, ik->adr_fields_annotations()); |
148 PSParallelCompact::mark_and_push(cm, ik->adr_methods_annotations()); |
146 PSParallelCompact::mark_and_push(cm, ik->adr_methods_annotations()); |
149 PSParallelCompact::mark_and_push(cm, ik->adr_methods_parameter_annotations()); |
147 PSParallelCompact::mark_and_push(cm, ik->adr_methods_parameter_annotations()); |
150 PSParallelCompact::mark_and_push(cm, ik->adr_methods_default_annotations()); |
148 PSParallelCompact::mark_and_push(cm, ik->adr_methods_default_annotations()); |
183 blk->do_oop(ik->adr_signers()); |
181 blk->do_oop(ik->adr_signers()); |
184 blk->do_oop(ik->adr_inner_classes()); |
182 blk->do_oop(ik->adr_inner_classes()); |
185 for (int i = 0; i < instanceKlass::implementors_limit; i++) { |
183 for (int i = 0; i < instanceKlass::implementors_limit; i++) { |
186 blk->do_oop(&ik->adr_implementors()[i]); |
184 blk->do_oop(&ik->adr_implementors()[i]); |
187 } |
185 } |
188 blk->do_oop(ik->adr_bootstrap_method()); |
|
189 blk->do_oop(ik->adr_class_annotations()); |
186 blk->do_oop(ik->adr_class_annotations()); |
190 blk->do_oop(ik->adr_fields_annotations()); |
187 blk->do_oop(ik->adr_fields_annotations()); |
191 blk->do_oop(ik->adr_methods_annotations()); |
188 blk->do_oop(ik->adr_methods_annotations()); |
192 blk->do_oop(ik->adr_methods_parameter_annotations()); |
189 blk->do_oop(ik->adr_methods_parameter_annotations()); |
193 blk->do_oop(ik->adr_methods_default_annotations()); |
190 blk->do_oop(ik->adr_methods_default_annotations()); |
237 if (mr.contains(adr)) blk->do_oop(adr); |
234 if (mr.contains(adr)) blk->do_oop(adr); |
238 adr = ik->adr_implementors(); |
235 adr = ik->adr_implementors(); |
239 for (int i = 0; i < instanceKlass::implementors_limit; i++) { |
236 for (int i = 0; i < instanceKlass::implementors_limit; i++) { |
240 if (mr.contains(&adr[i])) blk->do_oop(&adr[i]); |
237 if (mr.contains(&adr[i])) blk->do_oop(&adr[i]); |
241 } |
238 } |
242 adr = ik->adr_bootstrap_method(); |
|
243 if (mr.contains(adr)) blk->do_oop(adr); |
|
244 adr = ik->adr_class_annotations(); |
239 adr = ik->adr_class_annotations(); |
245 if (mr.contains(adr)) blk->do_oop(adr); |
240 if (mr.contains(adr)) blk->do_oop(adr); |
246 adr = ik->adr_fields_annotations(); |
241 adr = ik->adr_fields_annotations(); |
247 if (mr.contains(adr)) blk->do_oop(adr); |
242 if (mr.contains(adr)) blk->do_oop(adr); |
248 adr = ik->adr_methods_annotations(); |
243 adr = ik->adr_methods_annotations(); |
279 MarkSweep::adjust_pointer(ik->adr_signers()); |
274 MarkSweep::adjust_pointer(ik->adr_signers()); |
280 MarkSweep::adjust_pointer(ik->adr_inner_classes()); |
275 MarkSweep::adjust_pointer(ik->adr_inner_classes()); |
281 for (int i = 0; i < instanceKlass::implementors_limit; i++) { |
276 for (int i = 0; i < instanceKlass::implementors_limit; i++) { |
282 MarkSweep::adjust_pointer(&ik->adr_implementors()[i]); |
277 MarkSweep::adjust_pointer(&ik->adr_implementors()[i]); |
283 } |
278 } |
284 MarkSweep::adjust_pointer(ik->adr_bootstrap_method()); |
|
285 MarkSweep::adjust_pointer(ik->adr_class_annotations()); |
279 MarkSweep::adjust_pointer(ik->adr_class_annotations()); |
286 MarkSweep::adjust_pointer(ik->adr_fields_annotations()); |
280 MarkSweep::adjust_pointer(ik->adr_fields_annotations()); |
287 MarkSweep::adjust_pointer(ik->adr_methods_annotations()); |
281 MarkSweep::adjust_pointer(ik->adr_methods_annotations()); |
288 MarkSweep::adjust_pointer(ik->adr_methods_parameter_annotations()); |
282 MarkSweep::adjust_pointer(ik->adr_methods_parameter_annotations()); |
289 MarkSweep::adjust_pointer(ik->adr_methods_default_annotations()); |
283 MarkSweep::adjust_pointer(ik->adr_methods_default_annotations()); |
313 } |
307 } |
314 |
308 |
315 oop* sg_addr = ik->adr_signers(); |
309 oop* sg_addr = ik->adr_signers(); |
316 if (PSScavenge::should_scavenge(sg_addr)) { |
310 if (PSScavenge::should_scavenge(sg_addr)) { |
317 pm->claim_or_forward_depth(sg_addr); |
311 pm->claim_or_forward_depth(sg_addr); |
318 } |
|
319 |
|
320 oop* bsm_addr = ik->adr_bootstrap_method(); |
|
321 if (PSScavenge::should_scavenge(bsm_addr)) { |
|
322 pm->claim_or_forward_depth(bsm_addr); |
|
323 } |
312 } |
324 |
313 |
325 klassKlass::oop_push_contents(pm, obj); |
314 klassKlass::oop_push_contents(pm, obj); |
326 } |
315 } |
327 |
316 |
418 ik->set_jni_ids(NULL); |
407 ik->set_jni_ids(NULL); |
419 ik->set_osr_nmethods_head(NULL); |
408 ik->set_osr_nmethods_head(NULL); |
420 ik->set_breakpoints(NULL); |
409 ik->set_breakpoints(NULL); |
421 ik->init_previous_versions(); |
410 ik->init_previous_versions(); |
422 ik->set_generic_signature(NULL); |
411 ik->set_generic_signature(NULL); |
423 ik->set_bootstrap_method(NULL); |
|
424 ik->release_set_methods_jmethod_ids(NULL); |
412 ik->release_set_methods_jmethod_ids(NULL); |
425 ik->release_set_methods_cached_itable_indices(NULL); |
413 ik->release_set_methods_cached_itable_indices(NULL); |
426 ik->set_class_annotations(NULL); |
414 ik->set_class_annotations(NULL); |
427 ik->set_fields_annotations(NULL); |
415 ik->set_fields_annotations(NULL); |
428 ik->set_methods_annotations(NULL); |
416 ik->set_methods_annotations(NULL); |
540 } |
528 } |
541 if (have_pv) st->cr(); |
529 if (have_pv) st->cr(); |
542 } // pvw is cleaned up |
530 } // pvw is cleaned up |
543 } // rm is cleaned up |
531 } // rm is cleaned up |
544 |
532 |
545 if (ik->bootstrap_method() != NULL) { |
|
546 st->print(BULLET"bootstrap method: "); |
|
547 ik->bootstrap_method()->print_value_on(st); |
|
548 st->cr(); |
|
549 } |
|
550 if (ik->generic_signature() != NULL) { |
533 if (ik->generic_signature() != NULL) { |
551 st->print(BULLET"generic signature: "); |
534 st->print(BULLET"generic signature: "); |
552 ik->generic_signature()->print_value_on(st); |
535 ik->generic_signature()->print_value_on(st); |
553 st->cr(); |
536 st->cr(); |
554 } |
537 } |