< prev index next >

test/hotspot/jtreg/vmTestbase/nsk/share/gc/lock/jni/LongArrayCriticalLocker.cpp

Print this page
rev 52432 : 8213501: Deploy ExceptionJniWrapper for a few tests
Summary:
Reviewed-by:

*** 44,76 **** jlong *pa; jlong hash = 0; time_t start_time, current_time; if (objFieldId == NULL) { ! jclass klass = env->GetObjectClass(o); ! objFieldId = env->GetFieldID(klass, "obj", "Ljava/lang/Object;"); } ! arr = (jlongArray) env->GetObjectField(o, objFieldId); ! env->SetObjectField(o, objFieldId, NULL); ! size = env->GetArrayLength(arr); start_time = time(NULL); enterTime /= 1000; current_time = 0; while (current_time - start_time < enterTime) { ! pa = (jlong*) env->GetPrimitiveArrayCritical(arr, NULL); if (pa != NULL) { for (i = 0; i < size; ++i) hash ^= pa[i]; } else { hash = 0; } mssleep((long) sleepTime); ! env->ReleasePrimitiveArrayCritical(arr, pa, 0); mssleep((long) sleepTime); current_time = time(NULL); } ! env->SetObjectField(o, objFieldId, arr); return hash; } } --- 44,76 ---- jlong *pa; jlong hash = 0; time_t start_time, current_time; if (objFieldId == NULL) { ! jclass klass = env->GetObjectClass(o, TRACE_JNI_CALL); ! objFieldId = env->GetFieldID(klass, "obj", "Ljava/lang/Object;", TRACE_JNI_CALL); } ! arr = (jlongArray) env->GetObjectField(o, objFieldId, TRACE_JNI_CALL); ! env->SetObjectField(o, objFieldId, NULL, TRACE_JNI_CALL); ! size = env->GetArrayLength(arr, TRACE_JNI_CALL); start_time = time(NULL); enterTime /= 1000; current_time = 0; while (current_time - start_time < enterTime) { ! pa = (jlong*) env->GetPrimitiveArrayCritical(arr, NULL, TRACE_JNI_CALL); if (pa != NULL) { for (i = 0; i < size; ++i) hash ^= pa[i]; } else { hash = 0; } mssleep((long) sleepTime); ! env->ReleasePrimitiveArrayCritical(arr, pa, 0, TRACE_JNI_CALL); mssleep((long) sleepTime); current_time = time(NULL); } ! env->SetObjectField(o, objFieldId, arr, TRACE_JNI_CALL); return hash; } }
< prev index next >