@@ -1075,6 +1075,22 @@ bool WhiteBox::validate_cgroup(bool cgroups_v2_enabled,
10751075}
10761076#endif
10771077
1078+ bool WhiteBox::is_asan_enabled () {
1079+ #ifdef ADDRESS_SANITIZER
1080+ return true ;
1081+ #else
1082+ return false ;
1083+ #endif
1084+ }
1085+
1086+ bool WhiteBox::is_ubsan_enabled () {
1087+ #ifdef UNDEFINED_BEHAVIOR_SANITIZER
1088+ return true ;
1089+ #else
1090+ return false ;
1091+ #endif
1092+ }
1093+
10781094bool WhiteBox::compile_method (Method* method, int comp_level, int bci, JavaThread* THREAD) {
10791095 // Screen for unavailable/bad comp level or null method
10801096 AbstractCompiler* comp = CompileBroker::compiler (comp_level);
@@ -1886,6 +1902,14 @@ WB_ENTRY(jboolean, WB_IsMonitorInflated(JNIEnv* env, jobject wb, jobject obj))
18861902 return (jboolean) obj_oop->mark ().has_monitor();
18871903WB_END
18881904
1905+ WB_ENTRY (jboolean, WB_IsAsanEnabled(JNIEnv* env))
1906+ return (jboolean) WhiteBox::is_asan_enabled();
1907+ WB_END
1908+
1909+ WB_ENTRY (jboolean, WB_IsUbsanEnabled(JNIEnv* env))
1910+ return (jboolean) WhiteBox::is_ubsan_enabled();
1911+ WB_END
1912+
18891913WB_ENTRY (jlong, WB_getInUseMonitorCount(JNIEnv* env, jobject wb))
18901914 return (jlong) WhiteBox::get_in_use_monitor_count();
18911915WB_END
@@ -2882,6 +2906,8 @@ static JNINativeMethod methods[] = {
28822906 (void *)&WB_AddModuleExportsToAll },
28832907 {CC" deflateIdleMonitors" , CC" ()Z" , (void *)&WB_DeflateIdleMonitors },
28842908 {CC" isMonitorInflated0" , CC" (Ljava/lang/Object;)Z" , (void *)&WB_IsMonitorInflated },
2909+ {CC" isAsanEnabled" , CC" ()Z" , (void *)&WB_IsAsanEnabled },
2910+ {CC" isUbsanEnabled" , CC" ()Z" , (void *)&WB_IsUbsanEnabled },
28852911 {CC" getInUseMonitorCount" , CC" ()J" , (void *)&WB_getInUseMonitorCount },
28862912 {CC" getLockStackCapacity" , CC" ()I" , (void *)&WB_getLockStackCapacity },
28872913 {CC" supportsRecursiveLightweightLocking" , CC" ()Z" , (void *)&WB_supportsRecursiveLightweightLocking },
0 commit comments