equal
deleted
inserted
replaced
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 } |