1.1 --- a/src/share/vm/oops/instanceKlassKlass.cpp Mon Apr 20 14:48:03 2009 -0700 1.2 +++ b/src/share/vm/oops/instanceKlassKlass.cpp Tue Apr 21 23:21:04 2009 -0700 1.3 @@ -84,6 +84,7 @@ 1.4 MarkSweep::mark_and_push(ik->adr_host_klass()); 1.5 MarkSweep::mark_and_push(ik->adr_signers()); 1.6 MarkSweep::mark_and_push(ik->adr_generic_signature()); 1.7 + MarkSweep::mark_and_push(ik->adr_bootstrap_method()); 1.8 MarkSweep::mark_and_push(ik->adr_class_annotations()); 1.9 MarkSweep::mark_and_push(ik->adr_fields_annotations()); 1.10 MarkSweep::mark_and_push(ik->adr_methods_annotations()); 1.11 @@ -124,6 +125,7 @@ 1.12 PSParallelCompact::mark_and_push(cm, ik->adr_host_klass()); 1.13 PSParallelCompact::mark_and_push(cm, ik->adr_signers()); 1.14 PSParallelCompact::mark_and_push(cm, ik->adr_generic_signature()); 1.15 + PSParallelCompact::mark_and_push(cm, ik->adr_bootstrap_method()); 1.16 PSParallelCompact::mark_and_push(cm, ik->adr_class_annotations()); 1.17 PSParallelCompact::mark_and_push(cm, ik->adr_fields_annotations()); 1.18 PSParallelCompact::mark_and_push(cm, ik->adr_methods_annotations()); 1.19 @@ -170,6 +172,7 @@ 1.20 blk->do_oop(&ik->adr_implementors()[i]); 1.21 } 1.22 blk->do_oop(ik->adr_generic_signature()); 1.23 + blk->do_oop(ik->adr_bootstrap_method()); 1.24 blk->do_oop(ik->adr_class_annotations()); 1.25 blk->do_oop(ik->adr_fields_annotations()); 1.26 blk->do_oop(ik->adr_methods_annotations()); 1.27 @@ -230,6 +233,8 @@ 1.28 } 1.29 adr = ik->adr_generic_signature(); 1.30 if (mr.contains(adr)) blk->do_oop(adr); 1.31 + adr = ik->adr_bootstrap_method(); 1.32 + if (mr.contains(adr)) blk->do_oop(adr); 1.33 adr = ik->adr_class_annotations(); 1.34 if (mr.contains(adr)) blk->do_oop(adr); 1.35 adr = ik->adr_fields_annotations(); 1.36 @@ -274,6 +279,7 @@ 1.37 MarkSweep::adjust_pointer(&ik->adr_implementors()[i]); 1.38 } 1.39 MarkSweep::adjust_pointer(ik->adr_generic_signature()); 1.40 + MarkSweep::adjust_pointer(ik->adr_bootstrap_method()); 1.41 MarkSweep::adjust_pointer(ik->adr_class_annotations()); 1.42 MarkSweep::adjust_pointer(ik->adr_fields_annotations()); 1.43 MarkSweep::adjust_pointer(ik->adr_methods_annotations()); 1.44 @@ -454,6 +460,7 @@ 1.45 ik->set_breakpoints(NULL); 1.46 ik->init_previous_versions(); 1.47 ik->set_generic_signature(NULL); 1.48 + ik->set_bootstrap_method(NULL); 1.49 ik->release_set_methods_jmethod_ids(NULL); 1.50 ik->release_set_methods_cached_itable_indices(NULL); 1.51 ik->set_class_annotations(NULL); 1.52 @@ -578,6 +585,11 @@ 1.53 } // pvw is cleaned up 1.54 } // rm is cleaned up 1.55 1.56 + if (ik->bootstrap_method() != NULL) { 1.57 + st->print(BULLET"bootstrap method: "); 1.58 + ik->bootstrap_method()->print_value_on(st); 1.59 + st->cr(); 1.60 + } 1.61 if (ik->generic_signature() != NULL) { 1.62 st->print(BULLET"generic signature: "); 1.63 ik->generic_signature()->print_value_on(st);