< prev index next >

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

Print this page
*** 113,11 ***
  template <ShenandoahGenerationType GENERATION>
  inline void ShenandoahMark::count_liveness(ShenandoahLiveData* live_data, oop obj, Klass* klass, uint worker_id) {
    const ShenandoahHeap* const heap = ShenandoahHeap::heap();
    const size_t region_idx = heap->heap_region_index_containing(obj);
    ShenandoahHeapRegion* const region = heap->get_region(region_idx);
!   const size_t size = obj->size_given_klass(klass);
  
    // Age census for objects in the young generation
    if (GENERATION == YOUNG || (GENERATION == GLOBAL && region->is_young())) {
      assert(heap->mode()->is_generational(), "Only if generational");
      assert(region->is_young(), "Only for young objects");
--- 113,11 ---
  template <ShenandoahGenerationType GENERATION>
  inline void ShenandoahMark::count_liveness(ShenandoahLiveData* live_data, oop obj, Klass* klass, uint worker_id) {
    const ShenandoahHeap* const heap = ShenandoahHeap::heap();
    const size_t region_idx = heap->heap_region_index_containing(obj);
    ShenandoahHeapRegion* const region = heap->get_region(region_idx);
!   const size_t size = obj->size_given_mark_and_klass(obj->mark(), klass);
  
    // Age census for objects in the young generation
    if (GENERATION == YOUNG || (GENERATION == GLOBAL && region->is_young())) {
      assert(heap->mode()->is_generational(), "Only if generational");
      assert(region->is_young(), "Only for young objects");
< prev index next >