equal
deleted
inserted
replaced
130 |
130 |
131 public: |
131 public: |
132 RedirtyLoggedCardTableEntryClosure(G1CollectedHeap* g1h) : G1CardTableEntryClosure(), |
132 RedirtyLoggedCardTableEntryClosure(G1CollectedHeap* g1h) : G1CardTableEntryClosure(), |
133 _num_dirtied(0), _g1h(g1h), _g1_ct(g1h->card_table()) { } |
133 _num_dirtied(0), _g1h(g1h), _g1_ct(g1h->card_table()) { } |
134 |
134 |
135 void do_card_ptr(CardValue* card_ptr, uint worker_i) { |
135 void do_card_ptr(CardValue* card_ptr, uint worker_id) { |
136 HeapRegion* hr = region_for_card(card_ptr); |
136 HeapRegion* hr = region_for_card(card_ptr); |
137 |
137 |
138 // Should only dirty cards in regions that won't be freed. |
138 // Should only dirty cards in regions that won't be freed. |
139 if (!will_become_free(hr)) { |
139 if (!will_become_free(hr)) { |
140 *card_ptr = G1CardTable::dirty_card_val(); |
140 *card_ptr = G1CardTable::dirty_card_val(); |
1936 |
1936 |
1937 size_t G1CollectedHeap::unused_committed_regions_in_bytes() const { |
1937 size_t G1CollectedHeap::unused_committed_regions_in_bytes() const { |
1938 return _hrm->total_free_bytes(); |
1938 return _hrm->total_free_bytes(); |
1939 } |
1939 } |
1940 |
1940 |
1941 void G1CollectedHeap::iterate_hcc_closure(G1CardTableEntryClosure* cl, uint worker_i) { |
1941 void G1CollectedHeap::iterate_hcc_closure(G1CardTableEntryClosure* cl, uint worker_id) { |
1942 _hot_card_cache->drain(cl, worker_i); |
1942 _hot_card_cache->drain(cl, worker_id); |
1943 } |
1943 } |
1944 |
1944 |
1945 // Computes the sum of the storage used by the various regions. |
1945 // Computes the sum of the storage used by the various regions. |
1946 size_t G1CollectedHeap::used() const { |
1946 size_t G1CollectedHeap::used() const { |
1947 size_t result = _summary_bytes_used + _allocator->used_in_alloc_regions(); |
1947 size_t result = _summary_bytes_used + _allocator->used_in_alloc_regions(); |
2375 } |
2375 } |
2376 |
2376 |
2377 void G1CollectedHeap::print_regions_on(outputStream* st) const { |
2377 void G1CollectedHeap::print_regions_on(outputStream* st) const { |
2378 st->print_cr("Heap Regions: E=young(eden), S=young(survivor), O=old, " |
2378 st->print_cr("Heap Regions: E=young(eden), S=young(survivor), O=old, " |
2379 "HS=humongous(starts), HC=humongous(continues), " |
2379 "HS=humongous(starts), HC=humongous(continues), " |
2380 "CS=collection set, F=free, A=archive, " |
2380 "CS=collection set, F=free, " |
|
2381 "OA=open archive, CA=closed archive, " |
2381 "TAMS=top-at-mark-start (previous, next)"); |
2382 "TAMS=top-at-mark-start (previous, next)"); |
2382 PrintRegionClosure blk(st); |
2383 PrintRegionClosure blk(st); |
2383 heap_region_iterate(&blk); |
2384 heap_region_iterate(&blk); |
2384 } |
2385 } |
2385 |
2386 |