< prev index next >

src/hotspot/share/prims/whitebox.cpp

Print this page

        

*** 71,88 **** #include "utilities/exceptions.hpp" #include "utilities/macros.hpp" #if INCLUDE_CDS #include "prims/cdsoffsets.hpp" #endif // INCLUDE_CDS ! #if INCLUDE_ALL_GCS #include "gc/g1/g1CollectedHeap.inline.hpp" #include "gc/g1/g1ConcurrentMark.hpp" #include "gc/g1/g1ConcurrentMarkThread.hpp" #include "gc/g1/heapRegionRemSet.hpp" #include "gc/parallel/parallelScavengeHeap.inline.hpp" #include "gc/parallel/adjoiningGenerations.hpp" ! #endif // INCLUDE_ALL_GCS #if INCLUDE_NMT #include "services/mallocSiteTable.hpp" #include "services/memTracker.hpp" #include "utilities/nativeCallStack.hpp" #endif // INCLUDE_NMT --- 71,90 ---- #include "utilities/exceptions.hpp" #include "utilities/macros.hpp" #if INCLUDE_CDS #include "prims/cdsoffsets.hpp" #endif // INCLUDE_CDS ! #if INCLUDE_G1GC #include "gc/g1/g1CollectedHeap.inline.hpp" #include "gc/g1/g1ConcurrentMark.hpp" #include "gc/g1/g1ConcurrentMarkThread.hpp" #include "gc/g1/heapRegionRemSet.hpp" + #endif // INCLUDE_G1GC + #if INCLUDE_PARALLELGC #include "gc/parallel/parallelScavengeHeap.inline.hpp" #include "gc/parallel/adjoiningGenerations.hpp" ! #endif // INCLUDE_PARALLELGC #if INCLUDE_NMT #include "services/mallocSiteTable.hpp" #include "services/memTracker.hpp" #include "utilities/nativeCallStack.hpp" #endif // INCLUDE_NMT
*** 326,348 **** return GCConfig::is_gc_selected_ergonomically(); 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* g1h = G1CollectedHeap::heap(); const HeapRegion* hr = g1h->heap_region_containing(p); if (hr == NULL) { return false; } return !(hr->is_young()); ! } else if (UseParallelGC) { ParallelScavengeHeap* psh = ParallelScavengeHeap::heap(); return !psh->is_in_young(p); } ! #endif // INCLUDE_ALL_GCS GenCollectedHeap* gch = GenCollectedHeap::heap(); return !gch->is_in_young(p); WB_END WB_ENTRY(jlong, WB_GetObjectSize(JNIEnv* env, jobject o, jobject obj)) --- 328,353 ---- return GCConfig::is_gc_selected_ergonomically(); WB_END WB_ENTRY(jboolean, WB_isObjectInOldGen(JNIEnv* env, jobject o, jobject obj)) oop p = JNIHandles::resolve(obj); ! #if INCLUDE_G1GC if (UseG1GC) { G1CollectedHeap* g1h = G1CollectedHeap::heap(); const HeapRegion* hr = g1h->heap_region_containing(p); if (hr == NULL) { return false; } return !(hr->is_young()); ! } ! #endif ! #if INCLUDE_PARALLELGC ! if (UseParallelGC) { ParallelScavengeHeap* psh = ParallelScavengeHeap::heap(); return !psh->is_in_young(p); } ! #endif // INCLUDE_PARALLELGC GenCollectedHeap* gch = GenCollectedHeap::heap(); return !gch->is_in_young(p); WB_END WB_ENTRY(jlong, WB_GetObjectSize(JNIEnv* env, jobject o, jobject obj))
*** 395,405 **** 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)) if (UseG1GC) { G1CollectedHeap* g1h = G1CollectedHeap::heap(); oop result = JNIHandles::resolve(obj); const HeapRegion* hr = g1h->heap_region_containing(result); --- 400,411 ---- 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_G1GC ! WB_ENTRY(jboolean, WB_G1IsHumongous(JNIEnv* env, jobject o, jobject obj)) if (UseG1GC) { G1CollectedHeap* g1h = G1CollectedHeap::heap(); oop result = JNIHandles::resolve(obj); const HeapRegion* hr = g1h->heap_region_containing(result);
*** 469,506 **** return (jint)HeapRegion::GrainBytes; } THROW_MSG_0(vmSymbols::java_lang_UnsupportedOperationException(), "WB_G1RegionSize: G1 GC is not enabled"); WB_END WB_ENTRY(jlong, WB_PSVirtualSpaceAlignment(JNIEnv* env, jobject o)) - #if INCLUDE_ALL_GCS if (UseParallelGC) { return ParallelScavengeHeap::heap()->gens()->virtual_spaces()->alignment(); } - #endif // INCLUDE_ALL_GCS THROW_MSG_0(vmSymbols::java_lang_UnsupportedOperationException(), "WB_PSVirtualSpaceAlignment: Parallel GC is not enabled"); WB_END WB_ENTRY(jlong, WB_PSHeapGenerationAlignment(JNIEnv* env, jobject o)) - #if INCLUDE_ALL_GCS if (UseParallelGC) { return ParallelScavengeHeap::heap()->generation_alignment(); } - #endif // INCLUDE_ALL_GCS THROW_MSG_0(vmSymbols::java_lang_UnsupportedOperationException(), "WB_PSHeapGenerationAlignment: Parallel GC is not enabled"); WB_END WB_ENTRY(jobject, WB_G1AuxiliaryMemoryUsage(JNIEnv* env)) - #if INCLUDE_ALL_GCS if (UseG1GC) { ResourceMark rm(THREAD); G1CollectedHeap* g1h = G1CollectedHeap::heap(); MemoryUsage usage = g1h->get_auxiliary_data_memory_usage(); Handle h = MemoryService::create_MemoryUsage_obj(usage, CHECK_NULL); return JNIHandles::make_local(env, h()); } - #endif // INCLUDE_ALL_GCS THROW_MSG_0(vmSymbols::java_lang_UnsupportedOperationException(), "WB_G1AuxiliaryMemoryUsage: G1 GC is not enabled"); WB_END class OldRegionsLivenessClosure: public HeapRegionClosure { --- 475,514 ---- return (jint)HeapRegion::GrainBytes; } THROW_MSG_0(vmSymbols::java_lang_UnsupportedOperationException(), "WB_G1RegionSize: G1 GC is not enabled"); WB_END + #endif // INCLUDE_G1GC + + #if INCLUDE_PARALLELGC + WB_ENTRY(jlong, WB_PSVirtualSpaceAlignment(JNIEnv* env, jobject o)) if (UseParallelGC) { return ParallelScavengeHeap::heap()->gens()->virtual_spaces()->alignment(); } THROW_MSG_0(vmSymbols::java_lang_UnsupportedOperationException(), "WB_PSVirtualSpaceAlignment: Parallel GC is not enabled"); WB_END WB_ENTRY(jlong, WB_PSHeapGenerationAlignment(JNIEnv* env, jobject o)) if (UseParallelGC) { return ParallelScavengeHeap::heap()->generation_alignment(); } THROW_MSG_0(vmSymbols::java_lang_UnsupportedOperationException(), "WB_PSHeapGenerationAlignment: Parallel GC is not enabled"); WB_END + #endif // INCLUDE_PARALLELGC + + #if INCLUDE_G1GC + WB_ENTRY(jobject, WB_G1AuxiliaryMemoryUsage(JNIEnv* env)) if (UseG1GC) { ResourceMark rm(THREAD); G1CollectedHeap* g1h = G1CollectedHeap::heap(); MemoryUsage usage = g1h->get_auxiliary_data_memory_usage(); Handle h = MemoryService::create_MemoryUsage_obj(usage, CHECK_NULL); return JNIHandles::make_local(env, h()); } THROW_MSG_0(vmSymbols::java_lang_UnsupportedOperationException(), "WB_G1AuxiliaryMemoryUsage: G1 GC is not enabled"); WB_END class OldRegionsLivenessClosure: public HeapRegionClosure {
*** 559,569 **** result->long_at_put(1, rli.total_memory()); result->long_at_put(2, rli.total_memory_to_free()); return (jlongArray) JNIHandles::make_local(env, result); WB_END ! #endif // INCLUDE_ALL_GCS #if INCLUDE_NMT // Alloc memory using the test memory type so that we can use that to see if // NMT picks it up correctly WB_ENTRY(jlong, WB_NMTMalloc(JNIEnv* env, jobject o, jlong size)) --- 567,577 ---- result->long_at_put(1, rli.total_memory()); result->long_at_put(2, rli.total_memory_to_free()); return (jlongArray) JNIHandles::make_local(env, result); WB_END ! #endif // INCLUDE_G1GC #if INCLUDE_NMT // Alloc memory using the test memory type so that we can use that to see if // NMT picks it up correctly WB_ENTRY(jlong, WB_NMTMalloc(JNIEnv* env, jobject o, jlong size))
*** 1216,1231 **** WB_END WB_ENTRY(void, WB_FullGC(JNIEnv* env, jobject o)) Universe::heap()->soft_ref_policy()->set_should_clear_all_soft_refs(true); Universe::heap()->collect(GCCause::_wb_full_gc); ! #if INCLUDE_ALL_GCS if (UseG1GC) { // Needs to be cleared explicitly for G1 Universe::heap()->soft_ref_policy()->set_should_clear_all_soft_refs(false); } ! #endif // INCLUDE_ALL_GCS WB_END WB_ENTRY(void, WB_YoungGC(JNIEnv* env, jobject o)) Universe::heap()->collect(GCCause::_wb_young_gc); WB_END --- 1224,1239 ---- WB_END WB_ENTRY(void, WB_FullGC(JNIEnv* env, jobject o)) Universe::heap()->soft_ref_policy()->set_should_clear_all_soft_refs(true); Universe::heap()->collect(GCCause::_wb_full_gc); ! #if INCLUDE_G1GC if (UseG1GC) { // Needs to be cleared explicitly for G1 Universe::heap()->soft_ref_policy()->set_should_clear_all_soft_refs(false); } ! #endif // INCLUDE_G1GC WB_END WB_ENTRY(void, WB_YoungGC(JNIEnv* env, jobject o)) Universe::heap()->collect(GCCause::_wb_young_gc); WB_END
*** 1958,1982 **** {CC"readFromNoaccessArea",CC"()V", (void*)&WB_ReadFromNoaccessArea}, {CC"stressVirtualSpaceResize",CC"(JJJ)I", (void*)&WB_StressVirtualSpaceResize}, #if INCLUDE_CDS {CC"getOffsetForName0", CC"(Ljava/lang/String;)I", (void*)&WB_GetOffsetForName}, #endif ! #if INCLUDE_ALL_GCS {CC"g1InConcurrentMark", CC"()Z", (void*)&WB_G1InConcurrentMark}, {CC"g1IsHumongous0", CC"(Ljava/lang/Object;)Z", (void*)&WB_G1IsHumongous }, {CC"g1BelongsToHumongousRegion0", CC"(J)Z", (void*)&WB_G1BelongsToHumongousRegion}, {CC"g1BelongsToFreeRegion0", CC"(J)Z", (void*)&WB_G1BelongsToFreeRegion}, {CC"g1NumMaxRegions", CC"()J", (void*)&WB_G1NumMaxRegions }, {CC"g1NumFreeRegions", CC"()J", (void*)&WB_G1NumFreeRegions }, {CC"g1RegionSize", CC"()I", (void*)&WB_G1RegionSize }, {CC"g1StartConcMarkCycle", CC"()Z", (void*)&WB_G1StartMarkCycle }, {CC"g1AuxiliaryMemoryUsage", CC"()Ljava/lang/management/MemoryUsage;", (void*)&WB_G1AuxiliaryMemoryUsage }, {CC"psVirtualSpaceAlignment",CC"()J", (void*)&WB_PSVirtualSpaceAlignment}, {CC"psHeapGenerationAlignment",CC"()J", (void*)&WB_PSHeapGenerationAlignment}, ! {CC"g1GetMixedGCInfo", CC"(I)[J", (void*)&WB_G1GetMixedGCInfo }, ! #endif // INCLUDE_ALL_GCS #if INCLUDE_NMT {CC"NMTMalloc", CC"(J)J", (void*)&WB_NMTMalloc }, {CC"NMTMallocWithPseudoStack", CC"(JI)J", (void*)&WB_NMTMallocWithPseudoStack}, {CC"NMTFree", CC"(J)V", (void*)&WB_NMTFree }, {CC"NMTReserveMemory", CC"(J)J", (void*)&WB_NMTReserveMemory }, --- 1966,1992 ---- {CC"readFromNoaccessArea",CC"()V", (void*)&WB_ReadFromNoaccessArea}, {CC"stressVirtualSpaceResize",CC"(JJJ)I", (void*)&WB_StressVirtualSpaceResize}, #if INCLUDE_CDS {CC"getOffsetForName0", CC"(Ljava/lang/String;)I", (void*)&WB_GetOffsetForName}, #endif ! #if INCLUDE_G1GC {CC"g1InConcurrentMark", CC"()Z", (void*)&WB_G1InConcurrentMark}, {CC"g1IsHumongous0", CC"(Ljava/lang/Object;)Z", (void*)&WB_G1IsHumongous }, {CC"g1BelongsToHumongousRegion0", CC"(J)Z", (void*)&WB_G1BelongsToHumongousRegion}, {CC"g1BelongsToFreeRegion0", CC"(J)Z", (void*)&WB_G1BelongsToFreeRegion}, {CC"g1NumMaxRegions", CC"()J", (void*)&WB_G1NumMaxRegions }, {CC"g1NumFreeRegions", CC"()J", (void*)&WB_G1NumFreeRegions }, {CC"g1RegionSize", CC"()I", (void*)&WB_G1RegionSize }, {CC"g1StartConcMarkCycle", CC"()Z", (void*)&WB_G1StartMarkCycle }, {CC"g1AuxiliaryMemoryUsage", CC"()Ljava/lang/management/MemoryUsage;", (void*)&WB_G1AuxiliaryMemoryUsage }, + {CC"g1GetMixedGCInfo", CC"(I)[J", (void*)&WB_G1GetMixedGCInfo }, + #endif // INCLUDE_G1GC + #if INCLUDE_PARALLELGC {CC"psVirtualSpaceAlignment",CC"()J", (void*)&WB_PSVirtualSpaceAlignment}, {CC"psHeapGenerationAlignment",CC"()J", (void*)&WB_PSHeapGenerationAlignment}, ! #endif #if INCLUDE_NMT {CC"NMTMalloc", CC"(J)J", (void*)&WB_NMTMalloc }, {CC"NMTMallocWithPseudoStack", CC"(JI)J", (void*)&WB_NMTMallocWithPseudoStack}, {CC"NMTFree", CC"(J)V", (void*)&WB_NMTFree }, {CC"NMTReserveMemory", CC"(J)J", (void*)&WB_NMTReserveMemory },
< prev index next >