Mercurial > hg > truffle
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; } |