Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp @ 3289:b52782ae3880
6946417: G1: Java VisualVM does not support G1 properly.
Summary: Added counters for jstat
Reviewed-by: tonyp, jwilhelm, stefank, ysr, johnc
author | jmasa |
---|---|
date | Thu, 21 Apr 2011 10:23:44 -0700 |
parents | 49a67202bc67 |
children | 063382f9b575 |
comparison
equal
deleted
inserted
replaced
3288:c0dcda80820f | 3289:b52782ae3880 |
---|---|
26 #define SHARE_VM_GC_IMPLEMENTATION_G1_G1COLLECTEDHEAP_HPP | 26 #define SHARE_VM_GC_IMPLEMENTATION_G1_G1COLLECTEDHEAP_HPP |
27 | 27 |
28 #include "gc_implementation/g1/concurrentMark.hpp" | 28 #include "gc_implementation/g1/concurrentMark.hpp" |
29 #include "gc_implementation/g1/g1AllocRegion.hpp" | 29 #include "gc_implementation/g1/g1AllocRegion.hpp" |
30 #include "gc_implementation/g1/g1RemSet.hpp" | 30 #include "gc_implementation/g1/g1RemSet.hpp" |
31 #include "gc_implementation/g1/g1MonitoringSupport.hpp" | |
31 #include "gc_implementation/g1/heapRegionSets.hpp" | 32 #include "gc_implementation/g1/heapRegionSets.hpp" |
33 #include "gc_implementation/shared/hSpaceCounters.hpp" | |
32 #include "gc_implementation/parNew/parGCAllocBuffer.hpp" | 34 #include "gc_implementation/parNew/parGCAllocBuffer.hpp" |
33 #include "memory/barrierSet.hpp" | 35 #include "memory/barrierSet.hpp" |
34 #include "memory/memRegion.hpp" | 36 #include "memory/memRegion.hpp" |
35 #include "memory/sharedHeap.hpp" | 37 #include "memory/sharedHeap.hpp" |
36 | 38 |
55 class G1RemSet; | 57 class G1RemSet; |
56 class HeapRegionRemSetIterator; | 58 class HeapRegionRemSetIterator; |
57 class ConcurrentMark; | 59 class ConcurrentMark; |
58 class ConcurrentMarkThread; | 60 class ConcurrentMarkThread; |
59 class ConcurrentG1Refine; | 61 class ConcurrentG1Refine; |
62 class GenerationCounters; | |
60 | 63 |
61 typedef OverflowTaskQueue<StarTask> RefToScanQueue; | 64 typedef OverflowTaskQueue<StarTask> RefToScanQueue; |
62 typedef GenericTaskQueueSet<RefToScanQueue> RefToScanQueueSet; | 65 typedef GenericTaskQueueSet<RefToScanQueue> RefToScanQueueSet; |
63 | 66 |
64 typedef int RegionIdx_t; // needs to hold [ 0..max_regions() ) | 67 typedef int RegionIdx_t; // needs to hold [ 0..max_regions() ) |
233 bool _retain_gc_alloc_region[GCAllocPurposeCount]; | 236 bool _retain_gc_alloc_region[GCAllocPurposeCount]; |
234 | 237 |
235 // A list of the regions that have been set to be alloc regions in the | 238 // A list of the regions that have been set to be alloc regions in the |
236 // current collection. | 239 // current collection. |
237 HeapRegion* _gc_alloc_region_list; | 240 HeapRegion* _gc_alloc_region_list; |
241 | |
242 // Helper for monitoring and management support. | |
243 G1MonitoringSupport* _g1mm; | |
238 | 244 |
239 // Determines PLAB size for a particular allocation purpose. | 245 // Determines PLAB size for a particular allocation purpose. |
240 static size_t desired_plab_sz(GCAllocPurpose purpose); | 246 static size_t desired_plab_sz(GCAllocPurpose purpose); |
241 | 247 |
242 // When called by par thread, requires the FreeList_lock to be held. | 248 // When called by par thread, requires the FreeList_lock to be held. |
548 // successful, perform the allocation and return the address of the | 554 // successful, perform the allocation and return the address of the |
549 // allocated block, or else "NULL". | 555 // allocated block, or else "NULL". |
550 HeapWord* expand_and_allocate(size_t word_size); | 556 HeapWord* expand_and_allocate(size_t word_size); |
551 | 557 |
552 public: | 558 public: |
559 | |
560 G1MonitoringSupport* g1mm() { return _g1mm; } | |
561 | |
553 // Expand the garbage-first heap by at least the given size (in bytes!). | 562 // Expand the garbage-first heap by at least the given size (in bytes!). |
554 // Returns true if the heap was expanded by the requested amount; | 563 // Returns true if the heap was expanded by the requested amount; |
555 // false otherwise. | 564 // false otherwise. |
556 // (Rounds up to a HeapRegion boundary.) | 565 // (Rounds up to a HeapRegion boundary.) |
557 bool expand(size_t expand_bytes); | 566 bool expand(size_t expand_bytes); |