19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "gc/g1/g1CollectedHeap.inline.hpp"
27 #include "gc/g1/g1ConcurrentMarkThread.inline.hpp"
28 #include "gc/g1/g1Policy.hpp"
29 #include "gc/g1/g1VMOperations.hpp"
30 #include "gc/shared/gcId.hpp"
31 #include "gc/shared/gcTimer.hpp"
32 #include "gc/shared/gcTraceTime.inline.hpp"
33 #include "gc/shared/isGCActiveMark.hpp"
34 #include "runtime/interfaceSupport.inline.hpp"
35
36 void VM_G1CollectFull::doit() {
37 G1CollectedHeap* g1h = G1CollectedHeap::heap();
38 GCCauseSetter x(g1h, _gc_cause);
39 g1h->do_full_collection(false /* clear_all_soft_refs */);
40 }
41
42 VM_G1CollectForAllocation::VM_G1CollectForAllocation(size_t word_size,
43 uint gc_count_before,
44 GCCause::Cause gc_cause,
45 bool should_initiate_conc_mark,
46 double target_pause_time_ms) :
47 VM_CollectForAllocation(word_size, gc_count_before, gc_cause),
48 _pause_succeeded(false),
49 _should_initiate_conc_mark(should_initiate_conc_mark),
50 _should_retry_gc(false),
51 _target_pause_time_ms(target_pause_time_ms),
52 _old_marking_cycles_completed_before(0) {
53
54 guarantee(target_pause_time_ms > 0.0,
55 "target_pause_time_ms = %1.6lf should be positive",
56 target_pause_time_ms);
57 _gc_cause = gc_cause;
58 }
59
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "gc/g1/g1CollectedHeap.inline.hpp"
27 #include "gc/g1/g1ConcurrentMarkThread.inline.hpp"
28 #include "gc/g1/g1Policy.hpp"
29 #include "gc/g1/g1VMOperations.hpp"
30 #include "gc/shared/gcId.hpp"
31 #include "gc/shared/gcTimer.hpp"
32 #include "gc/shared/gcTraceTime.inline.hpp"
33 #include "gc/shared/isGCActiveMark.hpp"
34 #include "runtime/interfaceSupport.inline.hpp"
35
36 void VM_G1CollectFull::doit() {
37 G1CollectedHeap* g1h = G1CollectedHeap::heap();
38 GCCauseSetter x(g1h, _gc_cause);
39 _pause_succeeded = g1h->do_full_collection(true /* explicit_gc */, false /* clear_all_soft_refs */);
40 }
41
42 VM_G1CollectForAllocation::VM_G1CollectForAllocation(size_t word_size,
43 uint gc_count_before,
44 GCCause::Cause gc_cause,
45 bool should_initiate_conc_mark,
46 double target_pause_time_ms) :
47 VM_CollectForAllocation(word_size, gc_count_before, gc_cause),
48 _pause_succeeded(false),
49 _should_initiate_conc_mark(should_initiate_conc_mark),
50 _should_retry_gc(false),
51 _target_pause_time_ms(target_pause_time_ms),
52 _old_marking_cycles_completed_before(0) {
53
54 guarantee(target_pause_time_ms > 0.0,
55 "target_pause_time_ms = %1.6lf should be positive",
56 target_pause_time_ms);
57 _gc_cause = gc_cause;
58 }
59
|