src/share/vm/gc_implementation/g1/concurrentMark.hpp

changeset 1823
7666957bc44d
parent 1793
72f725c5a7be
child 1829
1316cec51b4d
     1.1 --- a/src/share/vm/gc_implementation/g1/concurrentMark.hpp	Tue Apr 13 13:52:10 2010 -0700
     1.2 +++ b/src/share/vm/gc_implementation/g1/concurrentMark.hpp	Tue Mar 30 15:43:03 2010 -0400
     1.3 @@ -652,11 +652,24 @@
     1.4    // we do nothing.
     1.5    void markAndGrayObjectIfNecessary(oop p);
     1.6  
     1.7 -  // This iterates over the marking bitmap (either prev or next) and
     1.8 -  // prints out all objects that are marked on the bitmap and indicates
     1.9 -  // whether what they point to is also marked or not. It also iterates
    1.10 -  // the objects over TAMS (either prev or next).
    1.11 -  void print_reachable(bool use_prev_marking, const char* str);
    1.12 +  // It iterates over the heap and for each object it comes across it
    1.13 +  // will dump the contents of its reference fields, as well as
    1.14 +  // liveness information for the object and its referents. The dump
    1.15 +  // will be written to a file with the following name:
    1.16 +  // G1PrintReachableBaseFile + "." + str. use_prev_marking decides
    1.17 +  // whether the prev (use_prev_marking == true) or next
    1.18 +  // (use_prev_marking == false) marking information will be used to
    1.19 +  // determine the liveness of each object / referent. If all is true,
    1.20 +  // all objects in the heap will be dumped, otherwise only the live
    1.21 +  // ones. In the dump the following symbols / abbreviations are used:
    1.22 +  //   M : an explicitly live object (its bitmap bit is set)
    1.23 +  //   > : an implicitly live object (over tams)
    1.24 +  //   O : an object outside the G1 heap (typically: in the perm gen)
    1.25 +  //   NOT : a reference field whose referent is not live
    1.26 +  //   AND MARKED : indicates that an object is both explicitly and
    1.27 +  //   implicitly live (it should be one or the other, not both)
    1.28 +  void print_reachable(const char* str,
    1.29 +                       bool use_prev_marking, bool all) PRODUCT_RETURN;
    1.30  
    1.31    // Clear the next marking bitmap (will be called concurrently).
    1.32    void clearNextBitmap();

mercurial