Improve HeapRegion::note_self_forwarding_removal_start

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Duplicate
    • Priority: P4
    • tbd
    • Affects Version/s: 20
    • Component/s: hotspot
    • gc

      HeapRegion::note_self_forwarding_removal_start, I would expect tams == bottom already with the single bitmap changes JDK-8210708

      I.e.:

        if (during_concurrent_start) {
          ...
        } else if (during_conc_mark) {
          // During concurrent mark, all objects in the CSet (including
          // the ones we find to be self-forwarded) are implicitly live.
          // So all objects need to be above TAMS.
          _top_at_mark_start = bottom();
        }

      should be

        if (during_concurrent_start) {
          ...
        } else {
          assert(_top_at_mark_start == bottom(), "inv);
        }

      The reason is that during evacuation failure
        * the young regions must always have TAMS==bottom

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

              Created:
              Updated:
              Resolved: