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);