src/share/vm/gc_implementation/g1/heapRegion.cpp

changeset 4037
da91efe96a93
parent 3998
7383557659bd
child 4065
8fbf05030e24
     1.1 --- a/src/share/vm/gc_implementation/g1/heapRegion.cpp	Fri Aug 31 16:39:35 2012 -0700
     1.2 +++ b/src/share/vm/gc_implementation/g1/heapRegion.cpp	Sat Sep 01 13:25:18 2012 -0400
     1.3 @@ -40,7 +40,7 @@
     1.4  size_t HeapRegion::CardsPerRegion    = 0;
     1.5  
     1.6  HeapRegionDCTOC::HeapRegionDCTOC(G1CollectedHeap* g1,
     1.7 -                                 HeapRegion* hr, OopClosure* cl,
     1.8 +                                 HeapRegion* hr, ExtendedOopClosure* cl,
     1.9                                   CardTableModRefBS::PrecisionStyle precision,
    1.10                                   FilterKind fk) :
    1.11    ContiguousSpaceDCTOC(hr, cl, precision, NULL),
    1.12 @@ -83,8 +83,8 @@
    1.13  
    1.14    void print_object(outputStream* out, oop obj) {
    1.15  #ifdef PRODUCT
    1.16 -    klassOop k = obj->klass();
    1.17 -    const char* class_name = instanceKlass::cast(k)->external_name();
    1.18 +    Klass* k = obj->klass();
    1.19 +    const char* class_name = InstanceKlass::cast(k)->external_name();
    1.20      out->print_cr("class name %s", class_name);
    1.21  #else // PRODUCT
    1.22      obj->print_on(out);
    1.23 @@ -213,10 +213,10 @@
    1.24  void HeapRegionDCTOC::walk_mem_region_with_cl(MemRegion mr,
    1.25                                                HeapWord* bottom,
    1.26                                                HeapWord* top,
    1.27 -                                              OopClosure* cl) {
    1.28 +                                              ExtendedOopClosure* cl) {
    1.29    G1CollectedHeap* g1h = _g1;
    1.30    int oop_size;
    1.31 -  OopClosure* cl2 = NULL;
    1.32 +  ExtendedOopClosure* cl2 = NULL;
    1.33  
    1.34    FilterIntoCSClosure intoCSFilt(this, g1h, cl);
    1.35    FilterOutOfRegionClosure outOfRegionFilt(_hr, cl);
    1.36 @@ -535,7 +535,7 @@
    1.37    set_saved_mark();
    1.38  }
    1.39  
    1.40 -void HeapRegion::oops_in_mr_iterate(MemRegion mr, OopClosure* cl) {
    1.41 +void HeapRegion::oops_in_mr_iterate(MemRegion mr, ExtendedOopClosure* cl) {
    1.42    HeapWord* p = mr.start();
    1.43    HeapWord* e = mr.end();
    1.44    oop obj;
    1.45 @@ -553,7 +553,7 @@
    1.46  SPECIALIZED_SINCE_SAVE_MARKS_CLOSURES(HeapRegion_OOP_SINCE_SAVE_MARKS_DEFN)
    1.47  
    1.48  
    1.49 -void HeapRegion::oop_before_save_marks_iterate(OopClosure* cl) {
    1.50 +void HeapRegion::oop_before_save_marks_iterate(ExtendedOopClosure* cl) {
    1.51    oops_in_mr_iterate(MemRegion(bottom(), saved_mark_word()), cl);
    1.52  }
    1.53  
    1.54 @@ -801,10 +801,10 @@
    1.55  
    1.56      if (!g1->is_obj_dead_cond(obj, this, vo)) {
    1.57        if (obj->is_oop()) {
    1.58 -        klassOop klass = obj->klass();
    1.59 -        if (!klass->is_perm()) {
    1.60 +        Klass* klass = obj->klass();
    1.61 +        if (!klass->is_metadata()) {
    1.62            gclog_or_tty->print_cr("klass "PTR_FORMAT" of object "PTR_FORMAT" "
    1.63 -                                 "not in perm", klass, obj);
    1.64 +                                 "not metadata", klass, obj);
    1.65            *failures = true;
    1.66            return;
    1.67          } else if (!klass->is_klass()) {
    1.68 @@ -814,7 +814,7 @@
    1.69            return;
    1.70          } else {
    1.71            vl_cl.set_containing_obj(obj);
    1.72 -          obj->oop_iterate(&vl_cl);
    1.73 +          obj->oop_iterate_no_header(&vl_cl);
    1.74            if (vl_cl.failures()) {
    1.75              *failures = true;
    1.76            }

mercurial