src/share/vm/oops/instanceKlassKlass.cpp

changeset 1161
be93aad57795
parent 1100
c89f86385056
child 1373
b37c246bf7ce
child 1408
ad6585fd4087
     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);

mercurial