98 PSMarkSweep::invoke_no_policy(clear_all_soft_refs || maximum_heap_compaction); |
98 PSMarkSweep::invoke_no_policy(clear_all_soft_refs || maximum_heap_compaction); |
99 } |
99 } |
100 |
100 |
101 // This method contains no policy. You should probably |
101 // This method contains no policy. You should probably |
102 // be calling invoke() instead. |
102 // be calling invoke() instead. |
103 void PSMarkSweep::invoke_no_policy(bool clear_all_softrefs) { |
103 bool PSMarkSweep::invoke_no_policy(bool clear_all_softrefs) { |
104 assert(SafepointSynchronize::is_at_safepoint(), "must be at a safepoint"); |
104 assert(SafepointSynchronize::is_at_safepoint(), "must be at a safepoint"); |
105 assert(ref_processor() != NULL, "Sanity"); |
105 assert(ref_processor() != NULL, "Sanity"); |
106 |
106 |
107 if (GC_locker::check_active_before_gc()) { |
107 if (GC_locker::check_active_before_gc()) { |
108 return; |
108 return false; |
109 } |
109 } |
110 |
110 |
111 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap(); |
111 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap(); |
112 GCCause::Cause gc_cause = heap->gc_cause(); |
112 GCCause::Cause gc_cause = heap->gc_cause(); |
113 assert(heap->kind() == CollectedHeap::ParallelScavengeHeap, "Sanity"); |
113 assert(heap->kind() == CollectedHeap::ParallelScavengeHeap, "Sanity"); |
380 heap->post_full_gc_dump(); |
380 heap->post_full_gc_dump(); |
381 |
381 |
382 #ifdef TRACESPINNING |
382 #ifdef TRACESPINNING |
383 ParallelTaskTerminator::print_termination_counts(); |
383 ParallelTaskTerminator::print_termination_counts(); |
384 #endif |
384 #endif |
|
385 |
|
386 return true; |
385 } |
387 } |
386 |
388 |
387 bool PSMarkSweep::absorb_live_data_from_eden(PSAdaptiveSizePolicy* size_policy, |
389 bool PSMarkSweep::absorb_live_data_from_eden(PSAdaptiveSizePolicy* size_policy, |
388 PSYoungGen* young_gen, |
390 PSYoungGen* young_gen, |
389 PSOldGen* old_gen) { |
391 PSOldGen* old_gen) { |