@@ -1097,6 +1097,22 @@ bool WhiteBox::validate_cgroup(bool cgroups_v2_enabled,
10971097}
10981098#endif
10991099
1100+ bool WhiteBox::is_asan_enabled () {
1101+ #ifdef ADDRESS_SANITIZER
1102+ return true ;
1103+ #else
1104+ return false ;
1105+ #endif
1106+ }
1107+
1108+ bool WhiteBox::is_ubsan_enabled () {
1109+ #ifdef UNDEFINED_BEHAVIOR_SANITIZER
1110+ return true ;
1111+ #else
1112+ return false ;
1113+ #endif
1114+ }
1115+
11001116bool WhiteBox::compile_method (Method* method, int comp_level, int bci, JavaThread* THREAD) {
11011117 // Screen for unavailable/bad comp level or null method
11021118 AbstractCompiler* comp = CompileBroker::compiler (comp_level);
@@ -1908,6 +1924,14 @@ WB_ENTRY(jboolean, WB_IsMonitorInflated(JNIEnv* env, jobject wb, jobject obj))
19081924 return (jboolean) obj_oop->mark ().has_monitor();
19091925WB_END
19101926
1927+ WB_ENTRY (jboolean, WB_IsAsanEnabled(JNIEnv* env))
1928+ return (jboolean) WhiteBox::is_asan_enabled();
1929+ WB_END
1930+
1931+ WB_ENTRY (jboolean, WB_IsUbsanEnabled(JNIEnv* env))
1932+ return (jboolean) WhiteBox::is_ubsan_enabled();
1933+ WB_END
1934+
19111935WB_ENTRY (jlong, WB_getInUseMonitorCount(JNIEnv* env, jobject wb))
19121936 return (jlong) WhiteBox::get_in_use_monitor_count();
19131937WB_END
@@ -2908,6 +2932,8 @@ static JNINativeMethod methods[] = {
29082932 (void *)&WB_AddModuleExportsToAll },
29092933 {CC" deflateIdleMonitors" , CC" ()Z" , (void *)&WB_DeflateIdleMonitors },
29102934 {CC" isMonitorInflated0" , CC" (Ljava/lang/Object;)Z" , (void *)&WB_IsMonitorInflated },
2935+ {CC" isAsanEnabled" , CC" ()Z" , (void *)&WB_IsAsanEnabled },
2936+ {CC" isUbsanEnabled" , CC" ()Z" , (void *)&WB_IsUbsanEnabled },
29112937 {CC" getInUseMonitorCount" , CC" ()J" , (void *)&WB_getInUseMonitorCount },
29122938 {CC" getLockStackCapacity" , CC" ()I" , (void *)&WB_getLockStackCapacity },
29132939 {CC" supportsRecursiveLightweightLocking" , CC" ()Z" , (void *)&WB_supportsRecursiveLightweightLocking },
0 commit comments