< 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 >