equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
22 */ |
22 */ |
23 |
23 |
24 #include "precompiled.hpp" |
24 #include "precompiled.hpp" |
25 #include "gc/shared/gcId.hpp" |
25 #include "gc/shared/gcId.hpp" |
26 #include "gc/shared/gcLocker.hpp" |
26 #include "gc/shared/gcLocker.hpp" |
27 #include "gc/shared/gcVMOperations.hpp" |
|
28 #include "gc/shared/isGCActiveMark.hpp" |
27 #include "gc/shared/isGCActiveMark.hpp" |
29 #include "gc/z/zCollectedHeap.hpp" |
28 #include "gc/z/zCollectedHeap.hpp" |
30 #include "gc/z/zDriver.hpp" |
29 #include "gc/z/zDriver.hpp" |
31 #include "gc/z/zHeap.inline.hpp" |
30 #include "gc/z/zHeap.inline.hpp" |
32 #include "gc/z/zMessagePort.inline.hpp" |
31 #include "gc/z/zMessagePort.inline.hpp" |
97 virtual void doit() { |
96 virtual void doit() { |
98 assert(SafepointSynchronize::is_at_safepoint(), "Should be at safepoint"); |
97 assert(SafepointSynchronize::is_at_safepoint(), "Should be at safepoint"); |
99 |
98 |
100 ZStatSample(ZSamplerJavaThreads, Threads::number_of_threads()); |
99 ZStatSample(ZSamplerJavaThreads, Threads::number_of_threads()); |
101 |
100 |
102 // JVMTI support |
|
103 SvcGCMarker sgcm(SvcGCMarker::CONCURRENT); |
|
104 |
|
105 // Setup GC id |
101 // Setup GC id |
106 GCIdMark gcid(_gc_id); |
102 GCIdMark gcid(_gc_id); |
107 |
103 |
108 if (_cl->needs_inactive_gc_locker() && GCLocker::check_active_before_gc()) { |
104 if (_cl->needs_inactive_gc_locker() && GCLocker::check_active_before_gc()) { |
109 // GC locker is active, bail out |
105 // GC locker is active, bail out |