src/hotspot/share/prims/whitebox.cpp
changeset 53985 0da5c17f5e43
parent 53732 d667de4734ac
child 53987 e1f707ed0757
equal deleted inserted replaced
53984:31884d19e945 53985:0da5c17f5e43
   481 #if INCLUDE_G1GC || INCLUDE_PARALLELGC
   481 #if INCLUDE_G1GC || INCLUDE_PARALLELGC
   482 WB_ENTRY(jlong, WB_DramReservedStart(JNIEnv* env, jobject o))
   482 WB_ENTRY(jlong, WB_DramReservedStart(JNIEnv* env, jobject o))
   483 #if INCLUDE_G1GC
   483 #if INCLUDE_G1GC
   484   if (UseG1GC) {
   484   if (UseG1GC) {
   485     G1CollectedHeap* g1h = G1CollectedHeap::heap();
   485     G1CollectedHeap* g1h = G1CollectedHeap::heap();
   486     if (g1h->g1_collector_policy()->is_hetero_heap()) {
   486     if (g1h->is_hetero_heap()) {
   487       uint start_region = HeterogeneousHeapRegionManager::manager()->start_index_of_dram();
   487       uint start_region = HeterogeneousHeapRegionManager::manager()->start_index_of_dram();
   488       return (jlong)(g1h->base() + start_region * HeapRegion::GrainBytes);
   488       return (jlong)(g1h->base() + start_region * HeapRegion::GrainBytes);
   489     } else {
   489     } else {
   490       return (jlong)g1h->base();
   490       return (jlong)g1h->base();
   491     }
   491     }
   507 
   507 
   508 WB_ENTRY(jlong, WB_DramReservedEnd(JNIEnv* env, jobject o))
   508 WB_ENTRY(jlong, WB_DramReservedEnd(JNIEnv* env, jobject o))
   509 #if INCLUDE_G1GC
   509 #if INCLUDE_G1GC
   510   if (UseG1GC) {
   510   if (UseG1GC) {
   511     G1CollectedHeap* g1h = G1CollectedHeap::heap();
   511     G1CollectedHeap* g1h = G1CollectedHeap::heap();
   512     if (g1h->g1_collector_policy()->is_hetero_heap()) {
   512     if (g1h->is_hetero_heap()) {
   513       uint end_region = HeterogeneousHeapRegionManager::manager()->end_index_of_dram();
   513       uint end_region = HeterogeneousHeapRegionManager::manager()->end_index_of_dram();
   514       return (jlong)(g1h->base() + (end_region + 1) * HeapRegion::GrainBytes - 1);
   514       return (jlong)(g1h->base() + (end_region + 1) * HeapRegion::GrainBytes - 1);
   515     } else {
   515     } else {
   516       return (jlong)g1h->base() + g1h->collector_policy()->max_heap_byte_size();
   516       return (jlong)g1h->base() + g1h->collector_policy()->max_heap_byte_size();
   517     }
   517     }
   533 
   533 
   534 WB_ENTRY(jlong, WB_NvdimmReservedStart(JNIEnv* env, jobject o))
   534 WB_ENTRY(jlong, WB_NvdimmReservedStart(JNIEnv* env, jobject o))
   535 #if INCLUDE_G1GC
   535 #if INCLUDE_G1GC
   536   if (UseG1GC) {
   536   if (UseG1GC) {
   537     G1CollectedHeap* g1h = G1CollectedHeap::heap();
   537     G1CollectedHeap* g1h = G1CollectedHeap::heap();
   538     if (g1h->g1_collector_policy()->is_hetero_heap()) {
   538     if (g1h->is_hetero_heap()) {
   539       uint start_region = HeterogeneousHeapRegionManager::manager()->start_index_of_nvdimm();
   539       uint start_region = HeterogeneousHeapRegionManager::manager()->start_index_of_nvdimm();
   540       return (jlong)(g1h->base() + start_region * HeapRegion::GrainBytes);
   540       return (jlong)(g1h->base() + start_region * HeapRegion::GrainBytes);
   541     } else {
   541     } else {
   542       THROW_MSG_0(vmSymbols::java_lang_UnsupportedOperationException(), "WB_NvdimmReservedStart: Old gen is not allocated on NV-DIMM using AllocateOldGenAt flag");
   542       THROW_MSG_0(vmSymbols::java_lang_UnsupportedOperationException(), "WB_NvdimmReservedStart: Old gen is not allocated on NV-DIMM using AllocateOldGenAt flag");
   543     }
   543     }
   559 
   559 
   560 WB_ENTRY(jlong, WB_NvdimmReservedEnd(JNIEnv* env, jobject o))
   560 WB_ENTRY(jlong, WB_NvdimmReservedEnd(JNIEnv* env, jobject o))
   561 #if INCLUDE_G1GC
   561 #if INCLUDE_G1GC
   562   if (UseG1GC) {
   562   if (UseG1GC) {
   563     G1CollectedHeap* g1h = G1CollectedHeap::heap();
   563     G1CollectedHeap* g1h = G1CollectedHeap::heap();
   564     if (g1h->g1_collector_policy()->is_hetero_heap()) {
   564     if (g1h->is_hetero_heap()) {
   565       uint end_region = HeterogeneousHeapRegionManager::manager()->start_index_of_nvdimm();
   565       uint end_region = HeterogeneousHeapRegionManager::manager()->start_index_of_nvdimm();
   566       return (jlong)(g1h->base() + (end_region + 1) * HeapRegion::GrainBytes - 1);
   566       return (jlong)(g1h->base() + (end_region + 1) * HeapRegion::GrainBytes - 1);
   567     } else {
   567     } else {
   568       THROW_MSG_0(vmSymbols::java_lang_UnsupportedOperationException(), "WB_NvdimmReservedEnd: Old gen is not allocated on NV-DIMM using AllocateOldGenAt flag");
   568       THROW_MSG_0(vmSymbols::java_lang_UnsupportedOperationException(), "WB_NvdimmReservedEnd: Old gen is not allocated on NV-DIMM using AllocateOldGenAt flag");
   569     }
   569     }