Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/g1/concurrentMark.hpp @ 936:e1fdf4fd34dc
6871111: G1: remove the concurrent overhead tracker
Summary: Removing the concurrent overhead tracker from G1, along with the GC overhead reporter and the G1AccountConcurrentOverhead (both of which rely on the the concurrent overhead tracker).
Reviewed-by: iveresov, johnc
author | tonyp |
---|---|
date | Wed, 19 Aug 2009 12:53:25 -0400 |
parents | df6caf649ff7 |
children | 035d2e036a9b |
comparison
equal
deleted
inserted
replaced
912:308762b2bf14 | 936:e1fdf4fd34dc |
---|---|
405 volatile bool _concurrent_marking_in_progress; | 405 volatile bool _concurrent_marking_in_progress; |
406 | 406 |
407 // verbose level | 407 // verbose level |
408 CMVerboseLevel _verbose_level; | 408 CMVerboseLevel _verbose_level; |
409 | 409 |
410 COTracker _cleanup_co_tracker; | |
411 | |
412 // These two fields are used to implement the optimisation that | 410 // These two fields are used to implement the optimisation that |
413 // avoids pushing objects on the global/region stack if there are | 411 // avoids pushing objects on the global/region stack if there are |
414 // no collection set regions above the lowest finger. | 412 // no collection set regions above the lowest finger. |
415 | 413 |
416 // This is the lowest finger (among the global and local fingers), | 414 // This is the lowest finger (among the global and local fingers), |
718 inline bool should_yield(); | 716 inline bool should_yield(); |
719 | 717 |
720 // Called to abort the marking cycle after a Full GC takes palce. | 718 // Called to abort the marking cycle after a Full GC takes palce. |
721 void abort(); | 719 void abort(); |
722 | 720 |
723 void disable_co_trackers(); | |
724 | |
725 // This prints the global/local fingers. It is used for debugging. | 721 // This prints the global/local fingers. It is used for debugging. |
726 NOT_PRODUCT(void print_finger();) | 722 NOT_PRODUCT(void print_finger();) |
727 | 723 |
728 void print_summary_info(); | 724 void print_summary_info(); |
729 | 725 |
771 bool _claimed; | 767 bool _claimed; |
772 | 768 |
773 // number of calls to this task | 769 // number of calls to this task |
774 int _calls; | 770 int _calls; |
775 | 771 |
776 // concurrent overhead over a single CPU for this task | |
777 COTracker _co_tracker; | |
778 | |
779 // when the virtual timer reaches this time, the marking step should | 772 // when the virtual timer reaches this time, the marking step should |
780 // exit | 773 // exit |
781 double _time_target_ms; | 774 double _time_target_ms; |
782 // the start time of the current marking step | 775 // the start time of the current marking step |
783 double _start_time_ms; | 776 double _start_time_ms; |
925 void reset(CMBitMap* _nextMarkBitMap); | 918 void reset(CMBitMap* _nextMarkBitMap); |
926 // it clears all the fields that correspond to a claimed region. | 919 // it clears all the fields that correspond to a claimed region. |
927 void clear_region_fields(); | 920 void clear_region_fields(); |
928 | 921 |
929 void set_concurrent(bool concurrent) { _concurrent = concurrent; } | 922 void set_concurrent(bool concurrent) { _concurrent = concurrent; } |
930 | |
931 void enable_co_tracker() { | |
932 guarantee( !_co_tracker.enabled(), "invariant" ); | |
933 _co_tracker.enable(); | |
934 } | |
935 void disable_co_tracker() { | |
936 guarantee( _co_tracker.enabled(), "invariant" ); | |
937 _co_tracker.disable(); | |
938 } | |
939 bool co_tracker_enabled() { | |
940 return _co_tracker.enabled(); | |
941 } | |
942 void reset_co_tracker(double starting_conc_overhead = 0.0) { | |
943 _co_tracker.reset(starting_conc_overhead); | |
944 } | |
945 void start_co_tracker() { | |
946 _co_tracker.start(); | |
947 } | |
948 void update_co_tracker(bool force_end = false) { | |
949 _co_tracker.update(force_end); | |
950 } | |
951 | 923 |
952 // The main method of this class which performs a marking step | 924 // The main method of this class which performs a marking step |
953 // trying not to exceed the given duration. However, it might exit | 925 // trying not to exceed the given duration. However, it might exit |
954 // prematurely, according to some conditions (i.e. SATB buffers are | 926 // prematurely, according to some conditions (i.e. SATB buffers are |
955 // available for processing). | 927 // available for processing). |