52 #include "memory/genOopClosures.inline.hpp" |
52 #include "memory/genOopClosures.inline.hpp" |
53 #include "memory/generationSpec.hpp" |
53 #include "memory/generationSpec.hpp" |
54 #include "memory/referenceProcessor.hpp" |
54 #include "memory/referenceProcessor.hpp" |
55 #include "oops/oop.inline.hpp" |
55 #include "oops/oop.inline.hpp" |
56 #include "oops/oop.pcgc.inline.hpp" |
56 #include "oops/oop.pcgc.inline.hpp" |
57 #include "runtime/aprofiler.hpp" |
|
58 #include "runtime/vmThread.hpp" |
57 #include "runtime/vmThread.hpp" |
59 |
58 |
60 size_t G1CollectedHeap::_humongous_object_threshold_in_words = 0; |
59 size_t G1CollectedHeap::_humongous_object_threshold_in_words = 0; |
61 |
60 |
62 // turn it on so that the contents of the young list (scan-only / |
61 // turn it on so that the contents of the young list (scan-only / |
2663 void G1CollectedHeap::object_iterate(ObjectClosure* cl) { |
2662 void G1CollectedHeap::object_iterate(ObjectClosure* cl) { |
2664 IterateObjectClosureRegionClosure blk(cl); |
2663 IterateObjectClosureRegionClosure blk(cl); |
2665 heap_region_iterate(&blk); |
2664 heap_region_iterate(&blk); |
2666 } |
2665 } |
2667 |
2666 |
2668 void G1CollectedHeap::object_iterate_since_last_GC(ObjectClosure* cl) { |
|
2669 // FIXME: is this right? |
|
2670 guarantee(false, "object_iterate_since_last_GC not supported by G1 heap"); |
|
2671 } |
|
2672 |
|
2673 // Calls a SpaceClosure on a HeapRegion. |
2667 // Calls a SpaceClosure on a HeapRegion. |
2674 |
2668 |
2675 class SpaceClosureRegionClosure: public HeapRegionClosure { |
2669 class SpaceClosureRegionClosure: public HeapRegionClosure { |
2676 SpaceClosure* _cl; |
2670 SpaceClosure* _cl; |
2677 public: |
2671 public: |
3596 } |
3590 } |
3597 |
3591 |
3598 void G1CollectedHeap::gc_prologue(bool full /* Ignored */) { |
3592 void G1CollectedHeap::gc_prologue(bool full /* Ignored */) { |
3599 // always_do_update_barrier = false; |
3593 // always_do_update_barrier = false; |
3600 assert(InlineCacheBuffer::is_empty(), "should have cleaned up ICBuffer"); |
3594 assert(InlineCacheBuffer::is_empty(), "should have cleaned up ICBuffer"); |
3601 // Call allocation profiler |
|
3602 AllocationProfiler::iterate_since_last_gc(); |
|
3603 // Fill TLAB's and such |
3595 // Fill TLAB's and such |
3604 ensure_parsability(true); |
3596 ensure_parsability(true); |
3605 } |
3597 } |
3606 |
3598 |
3607 void G1CollectedHeap::gc_epilogue(bool full /* Ignored */) { |
3599 void G1CollectedHeap::gc_epilogue(bool full /* Ignored */) { |