28 #include "gc/parallel/parallelScavengeHeap.hpp" |
28 #include "gc/parallel/parallelScavengeHeap.hpp" |
29 #include "gc/parallel/psMarkSweep.hpp" |
29 #include "gc/parallel/psMarkSweep.hpp" |
30 #include "gc/parallel/psParallelCompact.hpp" |
30 #include "gc/parallel/psParallelCompact.hpp" |
31 #include "gc/parallel/psScavenge.hpp" |
31 #include "gc/parallel/psScavenge.hpp" |
32 |
32 |
33 inline size_t ParallelScavengeHeap::total_invocations() |
33 inline size_t ParallelScavengeHeap::total_invocations() { |
34 { |
|
35 return UseParallelOldGC ? PSParallelCompact::total_invocations() : |
34 return UseParallelOldGC ? PSParallelCompact::total_invocations() : |
36 PSMarkSweep::total_invocations(); |
35 PSMarkSweep::total_invocations(); |
37 } |
36 } |
38 |
37 |
39 inline bool ParallelScavengeHeap::should_alloc_in_eden(const size_t size) const |
38 inline bool ParallelScavengeHeap::should_alloc_in_eden(const size_t size) const { |
40 { |
|
41 const size_t eden_size = young_gen()->eden_space()->capacity_in_words(); |
39 const size_t eden_size = young_gen()->eden_space()->capacity_in_words(); |
42 return size < eden_size / 2; |
40 return size < eden_size / 2; |
43 } |
41 } |
44 |
42 |
45 inline void ParallelScavengeHeap::invoke_scavenge() |
43 inline void ParallelScavengeHeap::invoke_scavenge() { |
46 { |
|
47 PSScavenge::invoke(); |
44 PSScavenge::invoke(); |
48 } |
45 } |
49 |
46 |
50 inline bool ParallelScavengeHeap::is_in_young(oop p) { |
47 inline bool ParallelScavengeHeap::is_in_young(oop p) { |
51 // Assumes the the old gen address range is lower than that of the young gen. |
48 // Assumes the the old gen address range is lower than that of the young gen. |
52 const void* loc = (void*) p; |
|
53 bool result = ((HeapWord*)p) >= young_gen()->reserved().start(); |
49 bool result = ((HeapWord*)p) >= young_gen()->reserved().start(); |
54 assert(result == young_gen()->is_in_reserved(p), |
50 assert(result == young_gen()->is_in_reserved(p), |
55 err_msg("incorrect test - result=%d, p=" PTR_FORMAT, result, p2i((void*)p))); |
51 err_msg("incorrect test - result=%d, p=" PTR_FORMAT, result, p2i((void*)p))); |
56 return result; |
52 return result; |
57 } |
53 } |