1.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.hpp Wed Dec 16 15:12:51 2009 -0800 1.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.hpp Wed Dec 23 09:23:54 2009 -0800 1.3 @@ -42,9 +42,6 @@ 1.4 friend class AscendTreeCensusClosure; 1.5 friend class DescendTreeCensusClosure; 1.6 friend class DescendTreeSearchClosure; 1.7 - TreeList* _parent; 1.8 - TreeList* _left; 1.9 - TreeList* _right; 1.10 1.11 protected: 1.12 TreeList* parent() const { return _parent; } 1.13 @@ -82,6 +79,11 @@ 1.14 // to a TreeChunk. 1.15 TreeChunk* first_available(); 1.16 1.17 + // Returns the block with the largest heap address amongst 1.18 + // those in the list for this size; potentially slow and expensive, 1.19 + // use with caution! 1.20 + TreeChunk* largest_address(); 1.21 + 1.22 // removeChunkReplaceIfNeeded() removes the given "tc" from the TreeList. 1.23 // If "tc" is the first chunk in the list, it is also the 1.24 // TreeList that is the node in the tree. removeChunkReplaceIfNeeded() 1.25 @@ -254,8 +256,9 @@ 1.26 // Methods called at the beginning of a sweep to prepare the 1.27 // statistics for the sweep. 1.28 void beginSweepDictCensus(double coalSurplusPercent, 1.29 - float sweep_current, 1.30 - float sweep_estimate); 1.31 + float inter_sweep_current, 1.32 + float inter_sweep_estimate, 1.33 + float intra_sweep_estimate); 1.34 // Methods called after the end of a sweep to modify the 1.35 // statistics for the sweep. 1.36 void endSweepDictCensus(double splitSurplusPercent); 1.37 @@ -269,6 +272,7 @@ 1.38 // Print the statistcis for all the lists in the tree. Also may 1.39 // print out summaries. 1.40 void printDictCensus(void) const; 1.41 + void print_free_lists(outputStream* st) const; 1.42 1.43 // For debugging. Returns the sum of the _returnedBytes for 1.44 // all lists in the tree.