< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp

Print this page
*** 83,11 ***
            cl->set_weak(false);
        }
  
        obj->oop_iterate(cl);
        dedup_string<STRING_DEDUP>(obj, req);
!     } else if (obj->is_objArray()) {
        // Case 2: Object array instance and no chunk is set. Must be the first
        // time we visit it, start the chunked processing.
        do_chunked_array_start<T>(q, cl, obj, weak);
      } else {
        // Case 3: Primitive array. Do nothing, no oops there. We use the same
--- 83,11 ---
            cl->set_weak(false);
        }
  
        obj->oop_iterate(cl);
        dedup_string<STRING_DEDUP>(obj, req);
!     } else if (obj->is_refArray()) {
        // Case 2: Object array instance and no chunk is set. Must be the first
        // time we visit it, start the chunked processing.
        do_chunked_array_start<T>(q, cl, obj, weak);
      } else {
        // Case 3: Primitive array. Do nothing, no oops there. We use the same

*** 154,11 ***
    }
  }
  
  template <class T>
  inline void ShenandoahMark::do_chunked_array_start(ShenandoahObjToScanQueue* q, T* cl, oop obj, bool weak) {
!   assert(obj->is_objArray(), "expect object array");
    objArrayOop array = objArrayOop(obj);
    int len = array->length();
  
    // Mark objArray klass metadata
    if (Devirtualizer::do_metadata(cl)) {
--- 154,11 ---
    }
  }
  
  template <class T>
  inline void ShenandoahMark::do_chunked_array_start(ShenandoahObjToScanQueue* q, T* cl, oop obj, bool weak) {
!   assert(obj->is_refArray(), "expect object array");
    objArrayOop array = objArrayOop(obj);
    int len = array->length();
  
    // Mark objArray klass metadata
    if (Devirtualizer::do_metadata(cl)) {

*** 221,11 ***
    }
  }
  
  template <class T>
  inline void ShenandoahMark::do_chunked_array(ShenandoahObjToScanQueue* q, T* cl, oop obj, int chunk, int pow, bool weak) {
!   assert(obj->is_objArray(), "expect object array");
    objArrayOop array = objArrayOop(obj);
  
    assert (ObjArrayMarkingStride > 0, "sanity");
  
    // Split out tasks, as suggested in ShenandoahMarkTask docs. Avoid pushing tasks that
--- 221,11 ---
    }
  }
  
  template <class T>
  inline void ShenandoahMark::do_chunked_array(ShenandoahObjToScanQueue* q, T* cl, oop obj, int chunk, int pow, bool weak) {
!   assert(obj->is_refArray(), "expect object array");
    objArrayOop array = objArrayOop(obj);
  
    assert (ObjArrayMarkingStride > 0, "sanity");
  
    // Split out tasks, as suggested in ShenandoahMarkTask docs. Avoid pushing tasks that
< prev index next >