Mercurial > hg > graal-jvmci-8
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() { |