Mercurial > hg > graal-compiler
comparison src/share/vm/prims/jvmtiEnvThreadState.cpp @ 14726:92aa6797d639
Backed out merge changeset: b51e29501f30
Backed out merge revision to its first parent (8f483e200405)
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Mon, 24 Mar 2014 21:30:43 +0100 |
parents | 0d8d78c0329a |
children |
comparison
equal
deleted
inserted
replaced
14719:0bdd0d157040 | 14726:92aa6797d639 |
---|---|
188 _single_stepping_posted = false; | 188 _single_stepping_posted = false; |
189 } | 189 } |
190 | 190 |
191 | 191 |
192 JvmtiFramePops* JvmtiEnvThreadState::get_frame_pops() { | 192 JvmtiFramePops* JvmtiEnvThreadState::get_frame_pops() { |
193 assert(get_thread() == Thread::current() || SafepointSynchronize::is_at_safepoint(), | 193 #ifdef ASSERT |
194 "frame pop data only accessible from same thread or at safepoint"); | 194 uint32_t debug_bits = 0; |
195 #endif | |
196 assert(get_thread() == Thread::current() || JvmtiEnv::is_thread_fully_suspended(get_thread(), false, &debug_bits), | |
197 "frame pop data only accessible from same thread or while suspended"); | |
198 | |
195 if (_frame_pops == NULL) { | 199 if (_frame_pops == NULL) { |
196 _frame_pops = new JvmtiFramePops(); | 200 _frame_pops = new JvmtiFramePops(); |
197 assert(_frame_pops != NULL, "_frame_pops != NULL"); | 201 assert(_frame_pops != NULL, "_frame_pops != NULL"); |
198 } | 202 } |
199 return _frame_pops; | 203 return _frame_pops; |
203 bool JvmtiEnvThreadState::has_frame_pops() { | 207 bool JvmtiEnvThreadState::has_frame_pops() { |
204 return _frame_pops == NULL? false : (_frame_pops->length() > 0); | 208 return _frame_pops == NULL? false : (_frame_pops->length() > 0); |
205 } | 209 } |
206 | 210 |
207 void JvmtiEnvThreadState::set_frame_pop(int frame_number) { | 211 void JvmtiEnvThreadState::set_frame_pop(int frame_number) { |
208 assert(get_thread() == Thread::current() || SafepointSynchronize::is_at_safepoint(), | 212 #ifdef ASSERT |
209 "frame pop data only accessible from same thread or at safepoint"); | 213 uint32_t debug_bits = 0; |
214 #endif | |
215 assert(get_thread() == Thread::current() || JvmtiEnv::is_thread_fully_suspended(get_thread(), false, &debug_bits), | |
216 "frame pop data only accessible from same thread or while suspended"); | |
210 JvmtiFramePop fpop(frame_number); | 217 JvmtiFramePop fpop(frame_number); |
211 JvmtiEventController::set_frame_pop(this, fpop); | 218 JvmtiEventController::set_frame_pop(this, fpop); |
212 } | 219 } |
213 | 220 |
214 | 221 |
215 void JvmtiEnvThreadState::clear_frame_pop(int frame_number) { | 222 void JvmtiEnvThreadState::clear_frame_pop(int frame_number) { |
216 assert(get_thread() == Thread::current() || SafepointSynchronize::is_at_safepoint(), | 223 #ifdef ASSERT |
217 "frame pop data only accessible from same thread or at safepoint"); | 224 uint32_t debug_bits = 0; |
225 #endif | |
226 assert(get_thread() == Thread::current() || JvmtiEnv::is_thread_fully_suspended(get_thread(), false, &debug_bits), | |
227 "frame pop data only accessible from same thread or while suspended"); | |
218 JvmtiFramePop fpop(frame_number); | 228 JvmtiFramePop fpop(frame_number); |
219 JvmtiEventController::clear_frame_pop(this, fpop); | 229 JvmtiEventController::clear_frame_pop(this, fpop); |
220 } | 230 } |
221 | 231 |
222 | 232 |
223 void JvmtiEnvThreadState::clear_to_frame_pop(int frame_number) { | 233 void JvmtiEnvThreadState::clear_to_frame_pop(int frame_number) { |
224 assert(get_thread() == Thread::current() || SafepointSynchronize::is_at_safepoint(), | 234 #ifdef ASSERT |
225 "frame pop data only accessible from same thread or at safepoint"); | 235 uint32_t debug_bits = 0; |
236 #endif | |
237 assert(get_thread() == Thread::current() || JvmtiEnv::is_thread_fully_suspended(get_thread(), false, &debug_bits), | |
238 "frame pop data only accessible from same thread or while suspended"); | |
226 JvmtiFramePop fpop(frame_number); | 239 JvmtiFramePop fpop(frame_number); |
227 JvmtiEventController::clear_to_frame_pop(this, fpop); | 240 JvmtiEventController::clear_to_frame_pop(this, fpop); |
228 } | 241 } |
229 | 242 |
230 | 243 |
231 bool JvmtiEnvThreadState::is_frame_pop(int cur_frame_number) { | 244 bool JvmtiEnvThreadState::is_frame_pop(int cur_frame_number) { |
232 assert(get_thread() == Thread::current() || SafepointSynchronize::is_at_safepoint(), | 245 #ifdef ASSERT |
233 "frame pop data only accessible from same thread or at safepoint"); | 246 uint32_t debug_bits = 0; |
247 #endif | |
248 assert(get_thread() == Thread::current() || JvmtiEnv::is_thread_fully_suspended(get_thread(), false, &debug_bits), | |
249 "frame pop data only accessible from same thread or while suspended"); | |
234 if (!get_thread()->is_interp_only_mode() || _frame_pops == NULL) { | 250 if (!get_thread()->is_interp_only_mode() || _frame_pops == NULL) { |
235 return false; | 251 return false; |
236 } | 252 } |
237 JvmtiFramePop fp(cur_frame_number); | 253 JvmtiFramePop fp(cur_frame_number); |
238 return get_frame_pops()->contains(fp); | 254 return get_frame_pops()->contains(fp); |