src/share/vm/prims/whitebox.cpp

changeset 8194
047a642c9729
parent 7835
e5406a79ae90
child 8497
50e62b688ddc
     1.1 --- a/src/share/vm/prims/whitebox.cpp	Tue Dec 15 09:46:51 2015 +0100
     1.2 +++ b/src/share/vm/prims/whitebox.cpp	Wed Dec 02 13:58:34 2015 +0530
     1.3 @@ -45,6 +45,7 @@
     1.4  #if INCLUDE_ALL_GCS
     1.5  #include "gc_implementation/parallelScavenge/parallelScavengeHeap.inline.hpp"
     1.6  #include "gc_implementation/g1/concurrentMark.hpp"
     1.7 +#include "gc_implementation/g1/concurrentMarkThread.hpp"
     1.8  #include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
     1.9  #include "gc_implementation/g1/heapRegionRemSet.hpp"
    1.10  #endif // INCLUDE_ALL_GCS
    1.11 @@ -323,8 +324,16 @@
    1.12  
    1.13  WB_ENTRY(jboolean, WB_G1InConcurrentMark(JNIEnv* env, jobject o))
    1.14    G1CollectedHeap* g1 = G1CollectedHeap::heap();
    1.15 -  ConcurrentMark* cm = g1->concurrent_mark();
    1.16 -  return cm->concurrent_marking_in_progress();
    1.17 +  return g1->concurrent_mark()->cmThread()->during_cycle();
    1.18 +WB_END
    1.19 +
    1.20 +WB_ENTRY(jboolean, WB_G1StartMarkCycle(JNIEnv* env, jobject o))
    1.21 +  G1CollectedHeap* g1h = G1CollectedHeap::heap();
    1.22 +  if (!g1h->concurrent_mark()->cmThread()->during_cycle()) {
    1.23 +    g1h->collect(GCCause::_wb_conc_mark);
    1.24 +    return true;
    1.25 +  }
    1.26 +  return false;
    1.27  WB_END
    1.28  
    1.29  WB_ENTRY(jint, WB_G1RegionSize(JNIEnv* env, jobject o))
    1.30 @@ -1031,6 +1040,7 @@
    1.31    {CC"g1NumMaxRegions",    CC"()J",                   (void*)&WB_G1NumMaxRegions  },
    1.32    {CC"g1NumFreeRegions",   CC"()J",                   (void*)&WB_G1NumFreeRegions  },
    1.33    {CC"g1RegionSize",       CC"()I",                   (void*)&WB_G1RegionSize      },
    1.34 +  {CC"g1StartConcMarkCycle",       CC"()Z",           (void*)&WB_G1StartMarkCycle  },
    1.35    {CC"g1AuxiliaryMemoryUsage", CC"()Ljava/lang/management/MemoryUsage;",
    1.36                                                        (void*)&WB_G1AuxiliaryMemoryUsage  },
    1.37  #endif // INCLUDE_ALL_GCS

mercurial