305 void dict_census_update(size_t size, bool split, bool birth);
306 // Return true if the dictionary is overpopulated (more chunks of
307 // this size than desired) for size "size".
308 bool coal_dict_over_populated(size_t size);
309 // Methods called at the beginning of a sweep to prepare the
310 // statistics for the sweep.
311 void begin_sweep_dict_census(double coalSurplusPercent,
312 float inter_sweep_current,
313 float inter_sweep_estimate,
314 float intra_sweep_estimate);
315 // Methods called after the end of a sweep to modify the
316 // statistics for the sweep.
317 void end_sweep_dict_census(double splitSurplusPercent);
318 // Return the largest free chunk in the tree.
319 Chunk_t* find_largest_dict() const;
320 // Accessors for statistics
321 void set_tree_surplus(double splitSurplusPercent);
322 void set_tree_hints(void);
323 // Reset statistics for all the lists in the tree.
324 void clear_tree_census(void);
325 // Print the statistcis for all the lists in the tree. Also may
326 // print out summaries.
327 void print_dict_census(void) const;
328 void print_free_lists(outputStream* st) const;
329
330 // For debugging. Returns the sum of the _returned_bytes for
331 // all lists in the tree.
332 size_t sum_dict_returned_bytes() PRODUCT_RETURN0;
333 // Sets the _returned_bytes for all the lists in the tree to zero.
334 void initialize_dict_returned_bytes() PRODUCT_RETURN;
335 // For debugging. Return the total number of chunks in the dictionary.
336 size_t total_count() PRODUCT_RETURN0;
337
338 void report_statistics() const;
339
340 void verify() const;
341 };
342
343 #endif // SHARE_VM_MEMORY_BINARYTREEDICTIONARY_HPP
|
305 void dict_census_update(size_t size, bool split, bool birth);
306 // Return true if the dictionary is overpopulated (more chunks of
307 // this size than desired) for size "size".
308 bool coal_dict_over_populated(size_t size);
309 // Methods called at the beginning of a sweep to prepare the
310 // statistics for the sweep.
311 void begin_sweep_dict_census(double coalSurplusPercent,
312 float inter_sweep_current,
313 float inter_sweep_estimate,
314 float intra_sweep_estimate);
315 // Methods called after the end of a sweep to modify the
316 // statistics for the sweep.
317 void end_sweep_dict_census(double splitSurplusPercent);
318 // Return the largest free chunk in the tree.
319 Chunk_t* find_largest_dict() const;
320 // Accessors for statistics
321 void set_tree_surplus(double splitSurplusPercent);
322 void set_tree_hints(void);
323 // Reset statistics for all the lists in the tree.
324 void clear_tree_census(void);
325 // Print the statistics for all the lists in the tree. Also may
326 // print out summaries.
327 void print_dict_census(void) const;
328 void print_free_lists(outputStream* st) const;
329
330 // For debugging. Returns the sum of the _returned_bytes for
331 // all lists in the tree.
332 size_t sum_dict_returned_bytes() PRODUCT_RETURN0;
333 // Sets the _returned_bytes for all the lists in the tree to zero.
334 void initialize_dict_returned_bytes() PRODUCT_RETURN;
335 // For debugging. Return the total number of chunks in the dictionary.
336 size_t total_count() PRODUCT_RETURN0;
337
338 void report_statistics() const;
339
340 void verify() const;
341 };
342
343 #endif // SHARE_VM_MEMORY_BINARYTREEDICTIONARY_HPP
|