8285739: disable EscapeBarrier deopt for virtual threads
Reviewed-by: kvn, rrich, sspitsyn
This commit is contained in:
parent
110d906432
commit
940e94f194
src/hotspot/share
@ -1155,7 +1155,7 @@ void JvmtiTagMap::iterate_through_heap(jint heap_filter,
|
||||
{
|
||||
// EA based optimizations on tagged objects are already reverted.
|
||||
// disabled if vritual threads are enabled with --enable-preview
|
||||
EscapeBarrier eb(!Continuations::enabled() && !(heap_filter & JVMTI_HEAP_FILTER_UNTAGGED), JavaThread::current());
|
||||
EscapeBarrier eb(!(heap_filter & JVMTI_HEAP_FILTER_UNTAGGED), JavaThread::current());
|
||||
eb.deoptimize_objects_all_threads();
|
||||
MutexLocker ml(Heap_lock);
|
||||
IterateThroughHeapObjectClosure blk(this,
|
||||
|
@ -119,6 +119,11 @@ bool EscapeBarrier::deoptimize_objects_all_threads() {
|
||||
if (!barrier_active()) return true;
|
||||
ResourceMark rm(calling_thread());
|
||||
for (JavaThreadIteratorWithHandle jtiwh; JavaThread *jt = jtiwh.next(); ) {
|
||||
oop vt_oop = jt->jvmti_vthread();
|
||||
// Skip virtual threads
|
||||
if (vt_oop != NULL && java_lang_VirtualThread::is_instance(vt_oop)) {
|
||||
continue;
|
||||
}
|
||||
if (jt->frames_to_pop_failed_realloc() > 0) {
|
||||
// The deoptee thread jt has frames with reallocation failures on top of its stack.
|
||||
// These frames are about to be removed. We must not interfere with that and signal failure.
|
||||
|
Loading…
x
Reference in New Issue
Block a user