< prev index next >
src/hotspot/share/prims/jvmtiThreadState.cpp
Print this page
@@ -270,13 +270,13 @@
assert(_cur_stack_depth >= 0, "incr/decr_cur_stack_depth mismatch");
}
}
int JvmtiThreadState::cur_stack_depth() {
- guarantee(SafepointSynchronize::is_at_safepoint() ||
- (JavaThread *)Thread::current() == get_thread(),
- "must be current thread or at safepoint");
+ Thread *current = Thread::current();
+ guarantee(current == get_thread() || current == get_thread()->active_handshaker(),
+ "must be current thread or direct handshake");
if (!is_interp_only_mode() || _cur_stack_depth == UNKNOWN_STACK_DEPTH) {
_cur_stack_depth = count_frames();
} else {
// heavy weight assert
< prev index next >