Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8200731

Assert in rebuild remset closure uses the wrong liveness in informational text

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: P5 P5
    • 11
    • 11
    • hotspot
    • gc

      in G1RemSet.cpp the assert that checks the liveness uses the wrong liveness when printing on error:

            assert(!hr->is_old() ||
                   top_at_rebuild_start == NULL ||
                   total_marked_bytes == _cm->liveness(region_idx) * HeapWordSize,
                   "Marked bytes " SIZE_FORMAT " for region %u (%s) in [bottom, TAMS) do not match liveness during mark " SIZE_FORMAT " "
                   "(" PTR_FORMAT " " PTR_FORMAT " " PTR_FORMAT ")",
                   total_marked_bytes, hr->hrm_index(), hr->get_type_str(), _cm->liveness(region_idx) * HeapWordSize,
                   p2i(hr->bottom()), p2i(top_at_mark_start), p2i(top_at_rebuild_start));

      i.e. the "_cm->liveness(region_idx) * HeapWordSize" should actually just be "hr->marked_bytes()".

            tschatzl Thomas Schatzl
            tschatzl Thomas Schatzl
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: