Skip to content

Commit dee0982

Browse files
author
Alan Bateman
committed
8343132: Remove temporary transitions from Virtual thread implementation
Reviewed-by: dholmes, sspitsyn, pchilanomate
1 parent 2f1ba5e commit dee0982

File tree

16 files changed

+184
-263
lines changed

16 files changed

+184
-263
lines changed

src/hotspot/share/classfile/vmIntrinsics.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -611,7 +611,6 @@ class methodHandle;
611611
do_intrinsic(_notifyJvmtiVThreadEnd, java_lang_VirtualThread, notifyJvmtiEnd_name, void_method_signature, F_RN) \
612612
do_intrinsic(_notifyJvmtiVThreadMount, java_lang_VirtualThread, notifyJvmtiMount_name, bool_void_signature, F_RN) \
613613
do_intrinsic(_notifyJvmtiVThreadUnmount, java_lang_VirtualThread, notifyJvmtiUnmount_name, bool_void_signature, F_RN) \
614-
do_intrinsic(_notifyJvmtiVThreadHideFrames, java_lang_VirtualThread, notifyJvmtiHideFrames_name, bool_void_signature, F_SN) \
615614
do_intrinsic(_notifyJvmtiVThreadDisableSuspend, java_lang_VirtualThread, notifyJvmtiDisableSuspend_name, bool_void_signature, F_SN) \
616615
\
617616
/* support for UnsafeConstants */ \

src/hotspot/share/classfile/vmSymbols.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,6 @@ class SerializeClosure;
398398
template(notifyJvmtiEnd_name, "notifyJvmtiEnd") \
399399
template(notifyJvmtiMount_name, "notifyJvmtiMount") \
400400
template(notifyJvmtiUnmount_name, "notifyJvmtiUnmount") \
401-
template(notifyJvmtiHideFrames_name, "notifyJvmtiHideFrames") \
402401
template(notifyJvmtiDisableSuspend_name, "notifyJvmtiDisableSuspend") \
403402
template(doYield_name, "doYield") \
404403
template(enter_name, "enter") \

src/hotspot/share/include/jvm.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1142,9 +1142,6 @@ JVM_VirtualThreadMount(JNIEnv* env, jobject vthread, jboolean hide);
11421142
JNIEXPORT void JNICALL
11431143
JVM_VirtualThreadUnmount(JNIEnv* env, jobject vthread, jboolean hide);
11441144

1145-
JNIEXPORT void JNICALL
1146-
JVM_VirtualThreadHideFrames(JNIEnv* env, jclass clazz, jboolean hide);
1147-
11481145
JNIEXPORT void JNICALL
11491146
JVM_VirtualThreadDisableSuspend(JNIEnv* env, jclass clazz, jboolean enter);
11501147

src/hotspot/share/jvmci/vmStructs_jvmci.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,6 @@
248248
nonstatic_field(JavaThread, _cont_entry, ContinuationEntry*) \
249249
nonstatic_field(JavaThread, _unlocked_inflated_monitor, ObjectMonitor*) \
250250
JVMTI_ONLY(nonstatic_field(JavaThread, _is_in_VTMS_transition, bool)) \
251-
JVMTI_ONLY(nonstatic_field(JavaThread, _is_in_tmp_VTMS_transition, bool)) \
252251
JVMTI_ONLY(nonstatic_field(JavaThread, _is_disable_suspend, bool)) \
253252
\
254253
nonstatic_field(ContinuationEntry, _pin_count, uint32_t) \

src/hotspot/share/opto/c2compiler.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -841,7 +841,6 @@ bool C2Compiler::is_intrinsic_supported(vmIntrinsics::ID id) {
841841
case vmIntrinsics::_notifyJvmtiVThreadEnd:
842842
case vmIntrinsics::_notifyJvmtiVThreadMount:
843843
case vmIntrinsics::_notifyJvmtiVThreadUnmount:
844-
case vmIntrinsics::_notifyJvmtiVThreadHideFrames:
845844
case vmIntrinsics::_notifyJvmtiVThreadDisableSuspend:
846845
#endif
847846
break;

src/hotspot/share/opto/library_call.cpp

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,6 @@ bool LibraryCallKit::try_to_inline(int predicate) {
495495
"notifyJvmtiMount", false, false);
496496
case vmIntrinsics::_notifyJvmtiVThreadUnmount: return inline_native_notify_jvmti_funcs(CAST_FROM_FN_PTR(address, OptoRuntime::notify_jvmti_vthread_unmount()),
497497
"notifyJvmtiUnmount", false, false);
498-
case vmIntrinsics::_notifyJvmtiVThreadHideFrames: return inline_native_notify_jvmti_hide();
499498
case vmIntrinsics::_notifyJvmtiVThreadDisableSuspend: return inline_native_notify_jvmti_sync();
500499
#endif
501500

@@ -2975,29 +2974,6 @@ bool LibraryCallKit::inline_native_notify_jvmti_funcs(address funcAddr, const ch
29752974
return true;
29762975
}
29772976

2978-
// Always update the temporary VTMS transition bit.
2979-
bool LibraryCallKit::inline_native_notify_jvmti_hide() {
2980-
if (!DoJVMTIVirtualThreadTransitions) {
2981-
return true;
2982-
}
2983-
IdealKit ideal(this);
2984-
2985-
{
2986-
// unconditionally update the temporary VTMS transition bit in current JavaThread
2987-
Node* thread = ideal.thread();
2988-
Node* hide = _gvn.transform(argument(0)); // hide argument for temporary VTMS transition notification
2989-
Node* addr = basic_plus_adr(thread, in_bytes(JavaThread::is_in_tmp_VTMS_transition_offset()));
2990-
const TypePtr *addr_type = _gvn.type(addr)->isa_ptr();
2991-
2992-
sync_kit(ideal);
2993-
access_store_at(nullptr, addr, addr_type, hide, _gvn.type(hide), T_BOOLEAN, IN_NATIVE | MO_UNORDERED);
2994-
ideal.sync_kit(this);
2995-
}
2996-
final_sync(ideal);
2997-
2998-
return true;
2999-
}
3000-
30012977
// Always update the is_disable_suspend bit.
30022978
bool LibraryCallKit::inline_native_notify_jvmti_sync() {
30032979
if (!DoJVMTIVirtualThreadTransitions) {

src/hotspot/share/prims/jvm.cpp

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3941,19 +3941,6 @@ JVM_ENTRY(void, JVM_VirtualThreadUnmount(JNIEnv* env, jobject vthread, jboolean
39413941
#endif
39423942
JVM_END
39433943

3944-
// Always update the temporary VTMS transition bit.
3945-
JVM_ENTRY(void, JVM_VirtualThreadHideFrames(JNIEnv* env, jclass clazz, jboolean hide))
3946-
#if INCLUDE_JVMTI
3947-
if (!DoJVMTIVirtualThreadTransitions) {
3948-
assert(!JvmtiExport::can_support_virtual_threads(), "sanity check");
3949-
return;
3950-
}
3951-
assert(!thread->is_in_VTMS_transition(), "sanity check");
3952-
assert(thread->is_in_tmp_VTMS_transition() != (bool)hide, "sanity check");
3953-
thread->toggle_is_in_tmp_VTMS_transition();
3954-
#endif
3955-
JVM_END
3956-
39573944
// Notification from VirtualThread about disabling JVMTI Suspend in a sync critical section.
39583945
// Needed to avoid deadlocks with JVMTI suspend mechanism.
39593946
JVM_ENTRY(void, JVM_VirtualThreadDisableSuspend(JNIEnv* env, jclass clazz, jboolean enter))

src/hotspot/share/prims/jvmtiExport.cpp

Lines changed: 51 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -929,7 +929,7 @@ class JvmtiClassFileLoadHookPoster : public StackObj {
929929
_cached_class_file_ptr = cache_ptr;
930930
_has_been_modified = false;
931931

932-
assert(!_thread->is_in_any_VTMS_transition(), "CFLH events are not allowed in any VTMS transition");
932+
assert(!_thread->is_in_VTMS_transition(), "CFLH events are not allowed in VTMS transition");
933933

934934
_state = JvmtiExport::get_jvmti_thread_state(_thread);
935935
if (_state != nullptr) {
@@ -1091,8 +1091,8 @@ bool JvmtiExport::post_class_file_load_hook(Symbol* h_name,
10911091
return false;
10921092
}
10931093

1094-
if (JavaThread::current()->is_in_any_VTMS_transition()) {
1095-
return false; // no events should be posted if thread is in any VTMS transition
1094+
if (JavaThread::current()->is_in_VTMS_transition()) {
1095+
return false; // no events should be posted if thread is in VTMS transition
10961096
}
10971097

10981098
JvmtiClassFileLoadHookPoster poster(h_name, class_loader,
@@ -1228,8 +1228,8 @@ void JvmtiExport::post_raw_breakpoint(JavaThread *thread, Method* method, addres
12281228
if (state == nullptr) {
12291229
return;
12301230
}
1231-
if (thread->is_in_any_VTMS_transition()) {
1232-
return; // no events should be posted if thread is in any VTMS transition
1231+
if (thread->is_in_VTMS_transition()) {
1232+
return; // no events should be posted if thread is in VTMS transition
12331233
}
12341234

12351235
EVT_TRIG_TRACE(JVMTI_EVENT_BREAKPOINT, ("[%s] Trg Breakpoint triggered",
@@ -1368,8 +1368,8 @@ void JvmtiExport::post_class_load(JavaThread *thread, Klass* klass) {
13681368
if (state == nullptr) {
13691369
return;
13701370
}
1371-
if (thread->is_in_any_VTMS_transition()) {
1372-
return; // no events should be posted if thread is in any VTMS transition
1371+
if (thread->is_in_VTMS_transition()) {
1372+
return; // no events should be posted if thread is in VTMS transition
13731373
}
13741374

13751375
EVT_TRIG_TRACE(JVMTI_EVENT_CLASS_LOAD, ("[%s] Trg Class Load triggered",
@@ -1405,8 +1405,8 @@ void JvmtiExport::post_class_prepare(JavaThread *thread, Klass* klass) {
14051405
if (state == nullptr) {
14061406
return;
14071407
}
1408-
if (thread->is_in_any_VTMS_transition()) {
1409-
return; // no events should be posted if thread is in any VTMS transition
1408+
if (thread->is_in_VTMS_transition()) {
1409+
return; // no events should be posted if thread is in VTMS transition
14101410
}
14111411

14121412
EVT_TRIG_TRACE(JVMTI_EVENT_CLASS_PREPARE, ("[%s] Trg Class Prepare triggered",
@@ -1743,8 +1743,8 @@ void JvmtiExport::post_object_free(JvmtiEnv* env, GrowableArray<jlong>* objects)
17431743
assert(objects != nullptr, "Nothing to post");
17441744

17451745
JavaThread *javaThread = JavaThread::current();
1746-
if (javaThread->is_in_any_VTMS_transition()) {
1747-
return; // no events should be posted if thread is in any VTMS transition
1746+
if (javaThread->is_in_VTMS_transition()) {
1747+
return; // no events should be posted if thread is in VTMS transition
17481748
}
17491749
if (!env->is_enabled(JVMTI_EVENT_OBJECT_FREE)) {
17501750
return; // the event type has been already disabled
@@ -1767,8 +1767,8 @@ void JvmtiExport::post_resource_exhausted(jint resource_exhausted_flags, const c
17671767

17681768
JavaThread *thread = JavaThread::current();
17691769

1770-
if (thread->is_in_any_VTMS_transition()) {
1771-
return; // no events should be posted if thread is in any VTMS transition
1770+
if (thread->is_in_VTMS_transition()) {
1771+
return; // no events should be posted if thread is in VTMS transition
17721772
}
17731773

17741774
log_error(jvmti)("Posting Resource Exhausted event: %s",
@@ -1810,8 +1810,8 @@ void JvmtiExport::post_method_entry(JavaThread *thread, Method* method, frame cu
18101810
// for any thread that actually wants method entry, interp_only_mode is set
18111811
return;
18121812
}
1813-
if (mh->jvmti_mount_transition() || thread->is_in_any_VTMS_transition()) {
1814-
return; // no events should be posted if thread is in any VTMS transition
1813+
if (mh->jvmti_mount_transition() || thread->is_in_VTMS_transition()) {
1814+
return; // no events should be posted if thread is in VTMS transition
18151815
}
18161816
EVT_TRIG_TRACE(JVMTI_EVENT_METHOD_ENTRY, ("[%s] Trg Method Entry triggered %s.%s",
18171817
JvmtiTrace::safe_get_thread_name(thread),
@@ -1902,8 +1902,8 @@ void JvmtiExport::post_method_exit_inner(JavaThread* thread,
19021902
bool exception_exit,
19031903
frame current_frame,
19041904
jvalue& value) {
1905-
if (mh->jvmti_mount_transition() || thread->is_in_any_VTMS_transition()) {
1906-
return; // no events should be posted if thread is in any VTMS transition
1905+
if (mh->jvmti_mount_transition() || thread->is_in_VTMS_transition()) {
1906+
return; // no events should be posted if thread is in VTMS transition
19071907
}
19081908

19091909
EVT_TRIG_TRACE(JVMTI_EVENT_METHOD_EXIT, ("[%s] Trg Method Exit triggered %s.%s",
@@ -1978,8 +1978,8 @@ void JvmtiExport::post_single_step(JavaThread *thread, Method* method, address l
19781978
if (state == nullptr) {
19791979
return;
19801980
}
1981-
if (mh->jvmti_mount_transition() || thread->is_in_any_VTMS_transition()) {
1982-
return; // no events should be posted if thread is in any VTMS transition
1981+
if (mh->jvmti_mount_transition() || thread->is_in_VTMS_transition()) {
1982+
return; // no events should be posted if thread is in VTMS transition
19831983
}
19841984

19851985
JvmtiEnvThreadStateIterator it(state);
@@ -2020,8 +2020,8 @@ void JvmtiExport::post_exception_throw(JavaThread *thread, Method* method, addre
20202020
if (state == nullptr) {
20212021
return;
20222022
}
2023-
if (thread->is_in_any_VTMS_transition()) {
2024-
return; // no events should be posted if thread is in any VTMS transition
2023+
if (thread->is_in_VTMS_transition()) {
2024+
return; // no events should be posted if thread is in VTMS transition
20252025
}
20262026

20272027
EVT_TRIG_TRACE(JVMTI_EVENT_EXCEPTION, ("[%s] Trg Exception thrown triggered",
@@ -2142,8 +2142,8 @@ void JvmtiExport::notice_unwind_due_to_exception(JavaThread *thread, Method* met
21422142
assert(!state->is_exception_caught(), "exception must not be caught yet.");
21432143
state->set_exception_caught();
21442144

2145-
if (mh->jvmti_mount_transition() || thread->is_in_any_VTMS_transition()) {
2146-
return; // no events should be posted if thread is in any VTMS transition
2145+
if (mh->jvmti_mount_transition() || thread->is_in_VTMS_transition()) {
2146+
return; // no events should be posted if thread is in VTMS transition
21472147
}
21482148
JvmtiEnvThreadStateIterator it(state);
21492149
for (JvmtiEnvThreadState* ets = it.first(); ets != nullptr; ets = it.next(ets)) {
@@ -2188,8 +2188,8 @@ void JvmtiExport::post_field_access_by_jni(JavaThread *thread, oop obj,
21882188
// function don't make the call unless there is a Java context.
21892189
assert(thread->has_last_Java_frame(), "must be called with a Java context");
21902190

2191-
if (thread->is_in_any_VTMS_transition()) {
2192-
return; // no events should be posted if thread is in any VTMS transition
2191+
if (thread->is_in_VTMS_transition()) {
2192+
return; // no events should be posted if thread is in VTMS transition
21932193
}
21942194

21952195
ResourceMark rm;
@@ -2224,8 +2224,8 @@ void JvmtiExport::post_field_access(JavaThread *thread, Method* method,
22242224
if (state == nullptr) {
22252225
return;
22262226
}
2227-
if (thread->is_in_any_VTMS_transition()) {
2228-
return; // no events should be posted if thread is in any VTMS transition
2227+
if (thread->is_in_VTMS_transition()) {
2228+
return; // no events should be posted if thread is in VTMS transition
22292229
}
22302230

22312231
EVT_TRIG_TRACE(JVMTI_EVENT_FIELD_ACCESS, ("[%s] Trg Field Access event triggered",
@@ -2274,8 +2274,8 @@ void JvmtiExport::post_field_modification_by_jni(JavaThread *thread, oop obj,
22742274
// function don't make the call unless there is a Java context.
22752275
assert(thread->has_last_Java_frame(), "must be called with Java context");
22762276

2277-
if (thread->is_in_any_VTMS_transition()) {
2278-
return; // no events should be posted if thread is in any VTMS transition
2277+
if (thread->is_in_VTMS_transition()) {
2278+
return; // no events should be posted if thread is in VTMS transition
22792279
}
22802280

22812281
ResourceMark rm;
@@ -2305,8 +2305,8 @@ void JvmtiExport::post_raw_field_modification(JavaThread *thread, Method* method
23052305
address location, Klass* field_klass, Handle object, jfieldID field,
23062306
char sig_type, jvalue *value) {
23072307

2308-
if (thread->is_in_any_VTMS_transition()) {
2309-
return; // no events should be posted if thread is in any VTMS transition
2308+
if (thread->is_in_VTMS_transition()) {
2309+
return; // no events should be posted if thread is in VTMS transition
23102310
}
23112311

23122312
if (sig_type == JVM_SIGNATURE_INT || sig_type == JVM_SIGNATURE_BOOLEAN ||
@@ -2380,8 +2380,8 @@ void JvmtiExport::post_field_modification(JavaThread *thread, Method* method,
23802380
if (state == nullptr) {
23812381
return;
23822382
}
2383-
if (thread->is_in_any_VTMS_transition()) {
2384-
return; // no events should be posted if thread is in any VTMS transition
2383+
if (thread->is_in_VTMS_transition()) {
2384+
return; // no events should be posted if thread is in VTMS transition
23852385
}
23862386

23872387
EVT_TRIG_TRACE(JVMTI_EVENT_FIELD_MODIFICATION,
@@ -2419,8 +2419,8 @@ void JvmtiExport::post_native_method_bind(Method* method, address* function_ptr)
24192419
HandleMark hm(thread);
24202420
methodHandle mh(thread, method);
24212421

2422-
if (thread->is_in_any_VTMS_transition()) {
2423-
return; // no events should be posted if thread is in any VTMS transition
2422+
if (thread->is_in_VTMS_transition()) {
2423+
return; // no events should be posted if thread is in VTMS transition
24242424
}
24252425
EVT_TRIG_TRACE(JVMTI_EVENT_NATIVE_METHOD_BIND, ("[%s] Trg Native Method Bind event triggered",
24262426
JvmtiTrace::safe_get_thread_name(thread)));
@@ -2493,7 +2493,7 @@ void JvmtiExport::post_compiled_method_load(nmethod *nm) {
24932493
}
24942494
JavaThread* thread = JavaThread::current();
24952495

2496-
assert(!thread->is_in_any_VTMS_transition(), "compiled method load events are not allowed in any VTMS transition");
2496+
assert(!thread->is_in_VTMS_transition(), "compiled method load events are not allowed in VTMS transition");
24972497

24982498
EVT_TRIG_TRACE(JVMTI_EVENT_COMPILED_METHOD_LOAD,
24992499
("[%s] method compile load event triggered",
@@ -2516,7 +2516,7 @@ void JvmtiExport::post_compiled_method_load(JvmtiEnv* env, nmethod *nm) {
25162516
}
25172517
JavaThread* thread = JavaThread::current();
25182518

2519-
assert(!thread->is_in_any_VTMS_transition(), "compiled method load events are not allowed in any VTMS transition");
2519+
assert(!thread->is_in_VTMS_transition(), "compiled method load events are not allowed in VTMS transition");
25202520

25212521
EVT_TRACE(JVMTI_EVENT_COMPILED_METHOD_LOAD,
25222522
("[%s] method compile load event sent %s.%s ",
@@ -2541,7 +2541,7 @@ void JvmtiExport::post_dynamic_code_generated_internal(const char *name, const v
25412541

25422542
JavaThread* thread = JavaThread::current();
25432543

2544-
assert(!thread->is_in_any_VTMS_transition(), "dynamic code generated events are not allowed in any VTMS transition");
2544+
assert(!thread->is_in_VTMS_transition(), "dynamic code generated events are not allowed in VTMS transition");
25452545

25462546
// In theory everyone coming thru here is in_vm but we need to be certain
25472547
// because a callee will do a vm->native transition
@@ -2589,7 +2589,7 @@ void JvmtiExport::post_dynamic_code_generated(JvmtiEnv* env, const char *name,
25892589
{
25902590
JavaThread* thread = JavaThread::current();
25912591

2592-
assert(!thread->is_in_any_VTMS_transition(), "dynamic code generated events are not allowed in any VTMS transition");
2592+
assert(!thread->is_in_VTMS_transition(), "dynamic code generated events are not allowed in VTMS transition");
25932593

25942594
EVT_TRIG_TRACE(JVMTI_EVENT_DYNAMIC_CODE_GENERATED,
25952595
("[%s] dynamic code generated event triggered (by GenerateEvents)",
@@ -2744,8 +2744,8 @@ void JvmtiExport::post_monitor_contended_enter(JavaThread *thread, ObjectMonitor
27442744
if (state == nullptr) {
27452745
return;
27462746
}
2747-
if (thread->is_in_any_VTMS_transition()) {
2748-
return; // no events should be posted if thread is in any VTMS transition
2747+
if (thread->is_in_VTMS_transition()) {
2748+
return; // no events should be posted if thread is in VTMS transition
27492749
}
27502750

27512751
EVT_TRIG_TRACE(JVMTI_EVENT_MONITOR_CONTENDED_ENTER,
@@ -2777,8 +2777,8 @@ void JvmtiExport::post_monitor_contended_entered(JavaThread *thread, ObjectMonit
27772777
if (state == nullptr) {
27782778
return;
27792779
}
2780-
if (thread->is_in_any_VTMS_transition()) {
2781-
return; // no events should be posted if thread is in any VTMS transition
2780+
if (thread->is_in_VTMS_transition()) {
2781+
return; // no events should be posted if thread is in VTMS transition
27822782
}
27832783

27842784
EVT_TRIG_TRACE(JVMTI_EVENT_MONITOR_CONTENDED_ENTERED,
@@ -2811,8 +2811,8 @@ void JvmtiExport::post_monitor_wait(JavaThread *thread, oop object,
28112811
if (state == nullptr) {
28122812
return;
28132813
}
2814-
if (thread->is_in_any_VTMS_transition()) {
2815-
return; // no events should be posted if thread is in any VTMS transition
2814+
if (thread->is_in_VTMS_transition()) {
2815+
return; // no events should be posted if thread is in VTMS transition
28162816
}
28172817

28182818
EVT_TRIG_TRACE(JVMTI_EVENT_MONITOR_WAIT,
@@ -2845,8 +2845,8 @@ void JvmtiExport::post_monitor_waited(JavaThread *thread, ObjectMonitor *obj_mnt
28452845
if (state == nullptr) {
28462846
return;
28472847
}
2848-
if (thread->is_in_any_VTMS_transition()) {
2849-
return; // no events should be posted if thread is in any VTMS transition
2848+
if (thread->is_in_VTMS_transition()) {
2849+
return; // no events should be posted if thread is in VTMS transition
28502850
}
28512851

28522852
EVT_TRIG_TRACE(JVMTI_EVENT_MONITOR_WAITED,
@@ -2874,8 +2874,8 @@ void JvmtiExport::post_vm_object_alloc(JavaThread *thread, oop object) {
28742874
if (object == nullptr) {
28752875
return;
28762876
}
2877-
if (thread->is_in_any_VTMS_transition()) {
2878-
return; // no events should be posted if thread is in any VTMS transition
2877+
if (thread->is_in_VTMS_transition()) {
2878+
return; // no events should be posted if thread is in VTMS transition
28792879
}
28802880
HandleMark hm(thread);
28812881
Handle h(thread, object);
@@ -2911,8 +2911,8 @@ void JvmtiExport::post_sampled_object_alloc(JavaThread *thread, oop object) {
29112911
if (object == nullptr) {
29122912
return;
29132913
}
2914-
if (thread->is_in_any_VTMS_transition()) {
2915-
return; // no events should be posted if thread is in any VTMS transition
2914+
if (thread->is_in_VTMS_transition()) {
2915+
return; // no events should be posted if thread is in VTMS transition
29162916
}
29172917

29182918
EVT_TRIG_TRACE(JVMTI_EVENT_SAMPLED_OBJECT_ALLOC,

0 commit comments

Comments
 (0)