comparison src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.cpp @ 4006:436b4a3231bf

7098194: integrate macosx-port changes Summary: Integrate bsd-port/hotspot and macosx-port/hotspot changes as of 2011.09.29. Reviewed-by: kvn, dholmes, never, phh Contributed-by: Christos Zoulas <christos@zoulas.com>, Greg Lewis <glewis@eyesbeyond.com>, Kurt Miller <kurt@intricatesoftware.com>, Alexander Strange <astrange@apple.com>, Mike Swingler <swingler@apple.com>, Roger Hoover <rhoover@apple.com>, Victor Hernandez <vhernandez@apple.com>, Pratik Solanki <psolanki@apple.com>
author dcubed
date Thu, 13 Oct 2011 09:35:42 -0700
parents a181f3a124dd
children 9d679effd28c
comparison
equal deleted inserted replaced
4005:2ef3386478e6 4006:436b4a3231bf
28 #include "gc_implementation/concurrentMarkSweep/vmCMSOperations.hpp" 28 #include "gc_implementation/concurrentMarkSweep/vmCMSOperations.hpp"
29 #include "gc_implementation/shared/isGCActiveMark.hpp" 29 #include "gc_implementation/shared/isGCActiveMark.hpp"
30 #include "memory/gcLocker.inline.hpp" 30 #include "memory/gcLocker.inline.hpp"
31 #include "runtime/interfaceSupport.hpp" 31 #include "runtime/interfaceSupport.hpp"
32 #include "utilities/dtrace.hpp" 32 #include "utilities/dtrace.hpp"
33
34
35 #ifndef USDT2
33 HS_DTRACE_PROBE_DECL(hs_private, cms__initmark__begin); 36 HS_DTRACE_PROBE_DECL(hs_private, cms__initmark__begin);
34 HS_DTRACE_PROBE_DECL(hs_private, cms__initmark__end); 37 HS_DTRACE_PROBE_DECL(hs_private, cms__initmark__end);
35 38
36 HS_DTRACE_PROBE_DECL(hs_private, cms__remark__begin); 39 HS_DTRACE_PROBE_DECL(hs_private, cms__remark__begin);
37 HS_DTRACE_PROBE_DECL(hs_private, cms__remark__end); 40 HS_DTRACE_PROBE_DECL(hs_private, cms__remark__end);
41 #endif /* !USDT2 */
38 42
39 ////////////////////////////////////////////////////////// 43 //////////////////////////////////////////////////////////
40 // Methods in abstract class VM_CMS_Operation 44 // Methods in abstract class VM_CMS_Operation
41 ////////////////////////////////////////////////////////// 45 //////////////////////////////////////////////////////////
42 void VM_CMS_Operation::acquire_pending_list_lock() { 46 void VM_CMS_Operation::acquire_pending_list_lock() {
127 void VM_CMS_Initial_Mark::doit() { 131 void VM_CMS_Initial_Mark::doit() {
128 if (lost_race()) { 132 if (lost_race()) {
129 // Nothing to do. 133 // Nothing to do.
130 return; 134 return;
131 } 135 }
136 #ifndef USDT2
132 HS_DTRACE_PROBE(hs_private, cms__initmark__begin); 137 HS_DTRACE_PROBE(hs_private, cms__initmark__begin);
138 #else /* USDT2 */
139 HS_PRIVATE_CMS_INITMARK_BEGIN(
140 );
141 #endif /* USDT2 */
133 142
134 GenCollectedHeap* gch = GenCollectedHeap::heap(); 143 GenCollectedHeap* gch = GenCollectedHeap::heap();
135 GCCauseSetter gccs(gch, GCCause::_cms_initial_mark); 144 GCCauseSetter gccs(gch, GCCause::_cms_initial_mark);
136 145
137 VM_CMS_Operation::verify_before_gc(); 146 VM_CMS_Operation::verify_before_gc();
138 147
139 IsGCActiveMark x; // stop-world GC active 148 IsGCActiveMark x; // stop-world GC active
140 _collector->do_CMS_operation(CMSCollector::CMS_op_checkpointRootsInitial); 149 _collector->do_CMS_operation(CMSCollector::CMS_op_checkpointRootsInitial);
141 150
142 VM_CMS_Operation::verify_after_gc(); 151 VM_CMS_Operation::verify_after_gc();
152 #ifndef USDT2
143 HS_DTRACE_PROBE(hs_private, cms__initmark__end); 153 HS_DTRACE_PROBE(hs_private, cms__initmark__end);
154 #else /* USDT2 */
155 HS_PRIVATE_CMS_INITMARK_END(
156 );
157 #endif /* USDT2 */
144 } 158 }
145 159
146 ////////////////////////////////////////////////////////// 160 //////////////////////////////////////////////////////////
147 // Methods in class VM_CMS_Final_Remark_Operation 161 // Methods in class VM_CMS_Final_Remark_Operation
148 ////////////////////////////////////////////////////////// 162 //////////////////////////////////////////////////////////
149 void VM_CMS_Final_Remark::doit() { 163 void VM_CMS_Final_Remark::doit() {
150 if (lost_race()) { 164 if (lost_race()) {
151 // Nothing to do. 165 // Nothing to do.
152 return; 166 return;
153 } 167 }
168 #ifndef USDT2
154 HS_DTRACE_PROBE(hs_private, cms__remark__begin); 169 HS_DTRACE_PROBE(hs_private, cms__remark__begin);
170 #else /* USDT2 */
171 HS_PRIVATE_CMS_REMARK_BEGIN(
172 );
173 #endif /* USDT2 */
155 174
156 GenCollectedHeap* gch = GenCollectedHeap::heap(); 175 GenCollectedHeap* gch = GenCollectedHeap::heap();
157 GCCauseSetter gccs(gch, GCCause::_cms_final_remark); 176 GCCauseSetter gccs(gch, GCCause::_cms_final_remark);
158 177
159 VM_CMS_Operation::verify_before_gc(); 178 VM_CMS_Operation::verify_before_gc();
160 179
161 IsGCActiveMark x; // stop-world GC active 180 IsGCActiveMark x; // stop-world GC active
162 _collector->do_CMS_operation(CMSCollector::CMS_op_checkpointRootsFinal); 181 _collector->do_CMS_operation(CMSCollector::CMS_op_checkpointRootsFinal);
163 182
164 VM_CMS_Operation::verify_after_gc(); 183 VM_CMS_Operation::verify_after_gc();
184 #ifndef USDT2
165 HS_DTRACE_PROBE(hs_private, cms__remark__end); 185 HS_DTRACE_PROBE(hs_private, cms__remark__end);
186 #else /* USDT2 */
187 HS_PRIVATE_CMS_REMARK_END(
188 );
189 #endif /* USDT2 */
166 } 190 }
167 191
168 // VM operation to invoke a concurrent collection of a 192 // VM operation to invoke a concurrent collection of a
169 // GenCollectedHeap heap. 193 // GenCollectedHeap heap.
170 void VM_GenCollectFullConcurrent::doit() { 194 void VM_GenCollectFullConcurrent::doit() {