comparison src/share/vm/gc_implementation/parallelScavenge/psScavenge.hpp @ 1836:894b1d7c7e01

6423256: GC stacks should use a better data structure 6942771: SEGV in ParScanThreadState::take_from_overflow_stack Reviewed-by: apetrusenko, ysr, pbk
author jcoomes
date Tue, 28 Sep 2010 15:56:15 -0700
parents c18cbe5936b8
children f95d63e2154a
comparison
equal deleted inserted replaced
1835:4805b9f4779e 1836:894b1d7c7e01
59 static int _tenuring_threshold; // tenuring threshold for next scavenge 59 static int _tenuring_threshold; // tenuring threshold for next scavenge
60 static elapsedTimer _accumulated_time; // total time spent on scavenge 60 static elapsedTimer _accumulated_time; // total time spent on scavenge
61 static HeapWord* _young_generation_boundary; // The lowest address possible for the young_gen. 61 static HeapWord* _young_generation_boundary; // The lowest address possible for the young_gen.
62 // This is used to decide if an oop should be scavenged, 62 // This is used to decide if an oop should be scavenged,
63 // cards should be marked, etc. 63 // cards should be marked, etc.
64 static GrowableArray<markOop>* _preserved_mark_stack; // List of marks to be restored after failed promotion 64 static Stack<markOop> _preserved_mark_stack; // List of marks to be restored after failed promotion
65 static GrowableArray<oop>* _preserved_oop_stack; // List of oops that need their mark restored. 65 static Stack<oop> _preserved_oop_stack; // List of oops that need their mark restored.
66 static CollectorCounters* _counters; // collector performance counters 66 static CollectorCounters* _counters; // collector performance counters
67 static bool _promotion_failed;
67 68
68 static void clean_up_failed_promotion(); 69 static void clean_up_failed_promotion();
69 70
70 static bool should_attempt_scavenge(); 71 static bool should_attempt_scavenge();
71 72
77 78
78 public: 79 public:
79 // Accessors 80 // Accessors
80 static int tenuring_threshold() { return _tenuring_threshold; } 81 static int tenuring_threshold() { return _tenuring_threshold; }
81 static elapsedTimer* accumulated_time() { return &_accumulated_time; } 82 static elapsedTimer* accumulated_time() { return &_accumulated_time; }
82 static bool promotion_failed() 83 static bool promotion_failed() { return _promotion_failed; }
83 { return _preserved_mark_stack != NULL; }
84 static int consecutive_skipped_scavenges() 84 static int consecutive_skipped_scavenges()
85 { return _consecutive_skipped_scavenges; } 85 { return _consecutive_skipped_scavenges; }
86 86
87 // Performance Counters 87 // Performance Counters
88 static CollectorCounters* counters() { return _counters; } 88 static CollectorCounters* counters() { return _counters; }