Top


定義場所(file name)

hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp

名前(function name)

void G1CollectedHeap::collection_set_iterate_from(HeapRegion* r,
                                                  HeapRegionClosure *cl) {

本体部(body)

  {- -------------------------------------------
  (1) 
      ---------------------------------------- -}

      if (r == NULL) {
        // The CSet is empty so there's nothing to do.
        return;
      }

  {- -------------------------------------------
  (1) (assert)
      ---------------------------------------- -}

      assert(r->in_collection_set(),
             "Start region must be a member of the collection set.");

  {- -------------------------------------------
  (1) 
      ---------------------------------------- -}

      HeapRegion* cur = r;
      while (cur != NULL) {
        HeapRegion* next = cur->next_in_collection_set();
        if (cl->doHeapRegion(cur) && false) {
          cl->incomplete();
          return;
        }
        cur = next;
      }
      cur = g1_policy()->collection_set();
      while (cur != r) {
        HeapRegion* next = cur->next_in_collection_set();
        if (cl->doHeapRegion(cur) && false) {
          cl->incomplete();
          return;
        }
        cur = next;
      }
    }

This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.