< prev index next >
src/hotspot/share/runtime/deoptimization.cpp
Print this page
rev 47287 : Port 09.17.Thread_SMR_logging_update from JDK9 to JDK10
rev 47289 : eosterlund, stefank CR - refactor code into threadSMR.cpp and threadSMR.hpp
rev 47292 : stefank, coleenp CR - refactor most JavaThreadIterator usage to use JavaThreadIteratorWithHandle.
*** 1302,1315 ****
return;
}
assert(SafepointSynchronize::is_at_safepoint(), "must only be called from safepoint");
GrowableArray<Handle>* objects_to_revoke = new GrowableArray<Handle>();
! {
! ThreadsListHandle tlh;
! JavaThreadIterator jti(tlh.list());
! for (JavaThread* jt = jti.first(); jt != NULL; jt = jti.next()) {
if (jt->has_last_Java_frame()) {
StackFrameStream sfs(jt, true);
while (!sfs.is_done()) {
frame* cur = sfs.current();
if (cb->contains(cur->pc())) {
--- 1302,1312 ----
return;
}
assert(SafepointSynchronize::is_at_safepoint(), "must only be called from safepoint");
GrowableArray<Handle>* objects_to_revoke = new GrowableArray<Handle>();
! for (JavaThreadIteratorWithHandle jtiwh; JavaThread *jt = jtiwh.next(); ) {
if (jt->has_last_Java_frame()) {
StackFrameStream sfs(jt, true);
while (!sfs.is_done()) {
frame* cur = sfs.current();
if (cb->contains(cur->pc())) {
*** 1323,1333 ****
collect_monitors(cvf, objects_to_revoke);
}
sfs.next();
}
}
- }
}
BiasedLocking::revoke_at_safepoint(objects_to_revoke);
}
--- 1320,1329 ----
< prev index next >