--- old/src/share/vm/prims/whitebox.cpp 2017-02-17 20:09:47.074123286 -0500 +++ new/src/share/vm/prims/whitebox.cpp 2017-02-17 20:09:46.962117564 -0500 @@ -355,6 +355,17 @@ return (jlong)alignment; WB_END +WB_ENTRY(jboolean, WB_SupportsConcurrentGCPhaseControl(JNIEnv* env, jobject o)) + return Universe::heap()->supports_concurrent_phase_control(); +WB_END + +WB_ENTRY(jboolean, WB_RequestConcurrentGCPhase(JNIEnv* env, jobject o, jstring name)) + Handle h_name(THREAD, JNIHandles::resolve(name)); + ResourceMark rm; + const char* c_name = java_lang_String::as_utf8_string(h_name()); + return Universe::heap()->request_concurrent_phase(c_name); +WB_END + #if INCLUDE_ALL_GCS WB_ENTRY(jboolean, WB_G1IsHumongous(JNIEnv* env, jobject o, jobject obj)) G1CollectedHeap* g1 = G1CollectedHeap::heap(); @@ -1905,6 +1916,9 @@ {CC"currentGC", CC"()I", (void*)&WB_CurrentGC}, {CC"allSupportedGC", CC"()I", (void*)&WB_AllSupportedGC}, {CC"gcSelectedByErgo", CC"()Z", (void*)&WB_GCSelectedByErgo}, + {CC"supportsConcurrentGCPhaseControl", CC"()Z", (void*)&WB_SupportsConcurrentGCPhaseControl}, + {CC"requestConcurrentGCPhase0", CC"(Ljava/lang/String;)Z", + (void*)&WB_RequestConcurrentGCPhase}, }; #undef CC