< prev index next >

src/share/vm/prims/whitebox.cpp

Print this page

        

*** 275,284 **** --- 275,346 ---- return wb_stress_virtual_space_resize((size_t) reserved_space_size, (size_t) magnitude, (size_t) iterations); WB_END + WB_ENTRY(jboolean, WB_SupportsSerialGC(JNIEnv* env, jobject o, jobject obj)) + return true; + WB_END + + WB_ENTRY(jboolean, WB_SupportsParallelGC(JNIEnv* env, jobject o, jobject obj)) + #if INCLUDE_ALL_GCS + return true; + #else + return false; + #endif // INCLUDE_ALL_GCS + WB_END + + WB_ENTRY(jboolean, WB_SupportsConcMarkSweepGC(JNIEnv* env, jobject o, jobject obj)) + #if INCLUDE_ALL_GCS + return true; + #else + return false; + #endif // INCLUDE_ALL_GCS + WB_END + + WB_ENTRY(jboolean, WB_SupportsG1GC(JNIEnv* env, jobject o, jobject obj)) + #if INCLUDE_ALL_GCS + return true; + #else + return false; + #endif // INCLUDE_ALL_GCS + WB_END + + WB_ENTRY(jboolean, WB_GcSelectedByErgo0(JNIEnv* env, jobject o, jobject obj)) + if (UseSerialGC) { + return FLAG_IS_ERGO(UseSerialGC); + } + if (UseParallelGC) { + return FLAG_IS_ERGO(UseParallelGC); + } + if (UseParallelOldGC) { + return FLAG_IS_ERGO(UseParallelOldGC); + } + if (UseConcMarkSweepGC) { + return FLAG_IS_ERGO(UseConcMarkSweepGC); + } + if (UseG1GC) { + return FLAG_IS_ERGO(UseG1GC); + } + return false; // should not reach here + WB_END + + WB_ENTRY(jstring, WB_GetGC(JNIEnv* env, jobject o)) + const char* gc = "unknown"; + if (UseSerialGC) { + gc = "Serial"; + } else if (UseParallelGC | UseParallelOldGC) { + gc = "Parallel"; + } else if (UseConcMarkSweepGC) { + gc = "ConcMarkSweep"; + } else if (UseG1GC) { + gc = "G1"; + } + jstring gc_string = env->NewStringUTF(gc); + return gc_string; + WB_END + WB_ENTRY(jboolean, WB_isObjectInOldGen(JNIEnv* env, jobject o, jobject obj)) oop p = JNIHandles::resolve(obj); #if INCLUDE_ALL_GCS if (UseG1GC) { G1CollectedHeap* g1 = G1CollectedHeap::heap();
*** 1756,1765 **** --- 1818,1835 ---- {CC"areSharedStringsIgnored", CC"()Z", (void*)&WB_AreSharedStringsIgnored }, {CC"clearInlineCaches", CC"()V", (void*)&WB_ClearInlineCaches }, {CC"addCompilerDirective", CC"(Ljava/lang/String;)I", (void*)&WB_AddCompilerDirective }, {CC"removeCompilerDirective", CC"(I)V", (void*)&WB_RemoveCompilerDirective }, + + {CC"getGC", CC"()Ljava/lang/String;", (void*)&WB_GetGC}, + {CC"gcSelectedByErgo0", CC"()Z", (void*)&WB_GcSelectedByErgo0}, + {CC"supportsSerialGC", CC"()Z", (void*)&WB_SupportsSerialGC}, + {CC"supportsParallelGC", CC"()Z", (void*)&WB_SupportsParallelGC}, + {CC"supportsConcMarkSweepGC", CC"()Z", (void*)&WB_SupportsConcMarkSweepGC}, + {CC"supportsG1GC", CC"()Z", (void*)&WB_SupportsG1GC}, + }; #undef CC JVM_ENTRY(void, JVM_RegisterWhiteBoxMethods(JNIEnv* env, jclass wbclass))
< prev index next >