hotspot/src/share/vm/prims/whitebox.cpp
changeset 32625 054d452e4e06
parent 32619 47acec81dcca
child 32726 8ccad6e5cdc6
equal deleted inserted replaced
32624:42a9450265ae 32625:054d452e4e06
    53 #include "gc/g1/concurrentMark.hpp"
    53 #include "gc/g1/concurrentMark.hpp"
    54 #include "gc/g1/concurrentMarkThread.hpp"
    54 #include "gc/g1/concurrentMarkThread.hpp"
    55 #include "gc/g1/g1CollectedHeap.inline.hpp"
    55 #include "gc/g1/g1CollectedHeap.inline.hpp"
    56 #include "gc/g1/heapRegionRemSet.hpp"
    56 #include "gc/g1/heapRegionRemSet.hpp"
    57 #include "gc/parallel/parallelScavengeHeap.inline.hpp"
    57 #include "gc/parallel/parallelScavengeHeap.inline.hpp"
       
    58 #include "gc/parallel/adjoiningGenerations.hpp"
    58 #endif // INCLUDE_ALL_GCS
    59 #endif // INCLUDE_ALL_GCS
    59 #if INCLUDE_NMT
    60 #if INCLUDE_NMT
    60 #include "services/mallocSiteTable.hpp"
    61 #include "services/mallocSiteTable.hpp"
    61 #include "services/memTracker.hpp"
    62 #include "services/memTracker.hpp"
    62 #include "utilities/nativeCallStack.hpp"
    63 #include "utilities/nativeCallStack.hpp"
   294 WB_ENTRY(jlong, WB_GetObjectSize(JNIEnv* env, jobject o, jobject obj))
   295 WB_ENTRY(jlong, WB_GetObjectSize(JNIEnv* env, jobject o, jobject obj))
   295   oop p = JNIHandles::resolve(obj);
   296   oop p = JNIHandles::resolve(obj);
   296   return p->size() * HeapWordSize;
   297   return p->size() * HeapWordSize;
   297 WB_END
   298 WB_END
   298 
   299 
       
   300 WB_ENTRY(jlong, WB_GetHeapSpaceAlignment(JNIEnv* env, jobject o))
       
   301   size_t alignment = Universe::heap()->collector_policy()->space_alignment();
       
   302   return (jlong)alignment;
       
   303 WB_END
       
   304 
   299 #if INCLUDE_ALL_GCS
   305 #if INCLUDE_ALL_GCS
   300 WB_ENTRY(jboolean, WB_G1IsHumongous(JNIEnv* env, jobject o, jobject obj))
   306 WB_ENTRY(jboolean, WB_G1IsHumongous(JNIEnv* env, jobject o, jobject obj))
   301   G1CollectedHeap* g1 = G1CollectedHeap::heap();
   307   G1CollectedHeap* g1 = G1CollectedHeap::heap();
   302   oop result = JNIHandles::resolve(obj);
   308   oop result = JNIHandles::resolve(obj);
   303   const HeapRegion* hr = g1->heap_region_containing(result);
   309   const HeapRegion* hr = g1->heap_region_containing(result);
   330   return false;
   336   return false;
   331 WB_END
   337 WB_END
   332 
   338 
   333 WB_ENTRY(jint, WB_G1RegionSize(JNIEnv* env, jobject o))
   339 WB_ENTRY(jint, WB_G1RegionSize(JNIEnv* env, jobject o))
   334   return (jint)HeapRegion::GrainBytes;
   340   return (jint)HeapRegion::GrainBytes;
       
   341 WB_END
       
   342 
       
   343 WB_ENTRY(jlong, WB_PSVirtualSpaceAlignment(JNIEnv* env, jobject o))
       
   344   ParallelScavengeHeap* ps = ParallelScavengeHeap::heap();
       
   345   size_t alignment = ps->gens()->virtual_spaces()->alignment();
       
   346   return (jlong)alignment;
       
   347 WB_END
       
   348 
       
   349 WB_ENTRY(jlong, WB_PSHeapGenerationAlignment(JNIEnv* env, jobject o))
       
   350   size_t alignment = ParallelScavengeHeap::heap()->generation_alignment();
       
   351   return (jlong)alignment;
   335 WB_END
   352 WB_END
   336 
   353 
   337 WB_ENTRY(jobject, WB_G1AuxiliaryMemoryUsage(JNIEnv* env))
   354 WB_ENTRY(jobject, WB_G1AuxiliaryMemoryUsage(JNIEnv* env))
   338   ResourceMark rm(THREAD);
   355   ResourceMark rm(THREAD);
   339   G1CollectedHeap* g1h = G1CollectedHeap::heap();
   356   G1CollectedHeap* g1h = G1CollectedHeap::heap();
  1330   {CC"isObjectInOldGen0",                CC"(Ljava/lang/Object;)Z", (void*)&WB_isObjectInOldGen  },
  1347   {CC"isObjectInOldGen0",                CC"(Ljava/lang/Object;)Z", (void*)&WB_isObjectInOldGen  },
  1331   {CC"getHeapOopSize",                   CC"()I",                   (void*)&WB_GetHeapOopSize    },
  1348   {CC"getHeapOopSize",                   CC"()I",                   (void*)&WB_GetHeapOopSize    },
  1332   {CC"getVMPageSize",                    CC"()I",                   (void*)&WB_GetVMPageSize     },
  1349   {CC"getVMPageSize",                    CC"()I",                   (void*)&WB_GetVMPageSize     },
  1333   {CC"getVMAllocationGranularity",       CC"()J",                   (void*)&WB_GetVMAllocationGranularity },
  1350   {CC"getVMAllocationGranularity",       CC"()J",                   (void*)&WB_GetVMAllocationGranularity },
  1334   {CC"getVMLargePageSize",               CC"()J",                   (void*)&WB_GetVMLargePageSize},
  1351   {CC"getVMLargePageSize",               CC"()J",                   (void*)&WB_GetVMLargePageSize},
       
  1352   {CC"getHeapSpaceAlignment",            CC"()J",                   (void*)&WB_GetHeapSpaceAlignment},
  1335   {CC"isClassAlive0",                    CC"(Ljava/lang/String;)Z", (void*)&WB_IsClassAlive      },
  1353   {CC"isClassAlive0",                    CC"(Ljava/lang/String;)Z", (void*)&WB_IsClassAlive      },
  1336   {CC"parseCommandLine0",
  1354   {CC"parseCommandLine0",
  1337       CC"(Ljava/lang/String;C[Lsun/hotspot/parser/DiagnosticCommand;)[Ljava/lang/Object;",
  1355       CC"(Ljava/lang/String;C[Lsun/hotspot/parser/DiagnosticCommand;)[Ljava/lang/Object;",
  1338       (void*) &WB_ParseCommandLine
  1356       (void*) &WB_ParseCommandLine
  1339   },
  1357   },
  1354   {CC"g1NumFreeRegions",   CC"()J",                   (void*)&WB_G1NumFreeRegions  },
  1372   {CC"g1NumFreeRegions",   CC"()J",                   (void*)&WB_G1NumFreeRegions  },
  1355   {CC"g1RegionSize",       CC"()I",                   (void*)&WB_G1RegionSize      },
  1373   {CC"g1RegionSize",       CC"()I",                   (void*)&WB_G1RegionSize      },
  1356   {CC"g1StartConcMarkCycle",       CC"()Z",           (void*)&WB_G1StartMarkCycle  },
  1374   {CC"g1StartConcMarkCycle",       CC"()Z",           (void*)&WB_G1StartMarkCycle  },
  1357   {CC"g1AuxiliaryMemoryUsage", CC"()Ljava/lang/management/MemoryUsage;",
  1375   {CC"g1AuxiliaryMemoryUsage", CC"()Ljava/lang/management/MemoryUsage;",
  1358                                                       (void*)&WB_G1AuxiliaryMemoryUsage  },
  1376                                                       (void*)&WB_G1AuxiliaryMemoryUsage  },
       
  1377   {CC"psVirtualSpaceAlignment",CC"()J",               (void*)&WB_PSVirtualSpaceAlignment},
       
  1378   {CC"psHeapGenerationAlignment",CC"()J",             (void*)&WB_PSHeapGenerationAlignment},
  1359 #endif // INCLUDE_ALL_GCS
  1379 #endif // INCLUDE_ALL_GCS
  1360 #if INCLUDE_NMT
  1380 #if INCLUDE_NMT
  1361   {CC"NMTMalloc",           CC"(J)J",                 (void*)&WB_NMTMalloc          },
  1381   {CC"NMTMalloc",           CC"(J)J",                 (void*)&WB_NMTMalloc          },
  1362   {CC"NMTMallocWithPseudoStack", CC"(JI)J",           (void*)&WB_NMTMallocWithPseudoStack},
  1382   {CC"NMTMallocWithPseudoStack", CC"(JI)J",           (void*)&WB_NMTMallocWithPseudoStack},
  1363   {CC"NMTFree",             CC"(J)V",                 (void*)&WB_NMTFree            },
  1383   {CC"NMTFree",             CC"(J)V",                 (void*)&WB_NMTFree            },