8256746: gc/CriticalNativeArgs.java fails without -XX:-CriticalJNINatives
Reviewed-by: kbarrett, coleenp, rkennke
This commit is contained in:
parent
aac5c2a862
commit
d9ae0db699
test/hotspot/jtreg/gc
@ -32,7 +32,12 @@ package gc;
|
||||
* @requires os.arch =="x86_64" | os.arch == "amd64" | os.arch=="x86" | os.arch=="i386"
|
||||
* @requires vm.gc.Epsilon
|
||||
* @summary test argument unpacking nmethod wrapper of critical native method
|
||||
* @run main/othervm/native -XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC -Xcomp -Xmx256M -XX:+CriticalJNINatives gc.CriticalNativeArgs
|
||||
* @run main/othervm/native -XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC -Xcomp -Xmx256M
|
||||
* -XX:-CriticalJNINatives
|
||||
* gc.CriticalNativeArgs
|
||||
* @run main/othervm/native -XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC -Xcomp -Xmx256M
|
||||
* -XX:+CriticalJNINatives
|
||||
* gc.CriticalNativeArgs
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -42,14 +47,38 @@ package gc;
|
||||
* @requires os.arch =="x86_64" | os.arch == "amd64" | os.arch=="x86" | os.arch=="i386"
|
||||
* @requires vm.gc.Shenandoah
|
||||
* @summary test argument unpacking nmethod wrapper of critical native method
|
||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.CriticalNativeArgs
|
||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.CriticalNativeArgs
|
||||
*
|
||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.CriticalNativeArgs
|
||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xcomp -Xmx512M
|
||||
* -XX:+UseShenandoahGC
|
||||
* -XX:-CriticalJNINatives
|
||||
* gc.CriticalNativeArgs
|
||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xcomp -Xmx512M
|
||||
* -XX:+UseShenandoahGC
|
||||
* -XX:+CriticalJNINatives
|
||||
* gc.CriticalNativeArgs
|
||||
*
|
||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xcomp -Xmx256M -XX:+CriticalJNINatives gc.CriticalNativeArgs
|
||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UnlockExperimentalVMOptions -XX:ShenandoahGCMode=iu -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.CriticalNativeArgs
|
||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UnlockExperimentalVMOptions -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.CriticalNativeArgs
|
||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xcomp -Xmx512M
|
||||
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC
|
||||
* -XX:+CriticalJNINatives
|
||||
* gc.CriticalNativeArgs
|
||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xcomp -Xmx512M
|
||||
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC
|
||||
* -XX:+CriticalJNINatives
|
||||
* gc.CriticalNativeArgs
|
||||
*
|
||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xcomp -Xmx512M
|
||||
* -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive
|
||||
* -XX:+CriticalJNINatives
|
||||
* gc.CriticalNativeArgs
|
||||
*
|
||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xcomp -Xmx512M
|
||||
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu
|
||||
* -XX:+CriticalJNINatives
|
||||
* gc.CriticalNativeArgs
|
||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xcomp -Xmx512M
|
||||
* -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive
|
||||
* -XX:+CriticalJNINatives
|
||||
* gc.CriticalNativeArgs
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -58,7 +87,12 @@ package gc;
|
||||
* @library /
|
||||
* @requires os.arch =="x86_64" | os.arch == "amd64" | os.arch=="x86" | os.arch=="i386" | os.arch=="ppc64" | os.arch=="ppc64le" | os.arch=="s390x"
|
||||
* @summary test argument unpacking nmethod wrapper of critical native method
|
||||
* @run main/othervm/native -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.CriticalNativeArgs
|
||||
* @run main/othervm/native -Xcomp -Xmx512M
|
||||
* -XX:-CriticalJNINatives
|
||||
* gc.CriticalNativeArgs
|
||||
* @run main/othervm/native -Xcomp -Xmx512M
|
||||
* -XX:+CriticalJNINatives
|
||||
* gc.CriticalNativeArgs
|
||||
*/
|
||||
public class CriticalNativeArgs {
|
||||
public static void main(String[] args) {
|
||||
|
@ -120,10 +120,10 @@ JNIEXPORT jboolean JNICALL JavaCritical_gc_CriticalNative_isNull
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_gc_CriticalNative_isNull
|
||||
(JNIEnv *env, jclass jclazz, jintArray a) {
|
||||
jboolean is_null;
|
||||
if (a == NULL) return JNI_TRUE;
|
||||
jsize len = (*env)->GetArrayLength(env, a);
|
||||
jint* arr = (jint*)(*env)->GetPrimitiveArrayCritical(env, a, 0);
|
||||
is_null = (arr == NULL) && (len == 0);
|
||||
jboolean is_null = (arr == NULL) && (len == 0);
|
||||
(*env)->ReleasePrimitiveArrayCritical(env, a, arr, 0);
|
||||
return is_null;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user