< prev index next >

test/lib/sun/hotspot/code/BlobType.java

Print this page
rev 1255 : imported patch 8059613.jdk9-hs-comp.diff

@@ -30,30 +30,32 @@
 
 import sun.hotspot.WhiteBox;
 
 public enum BlobType {
     // Execution level 1 and 4 (non-profiled) nmethods (including native nmethods)
-    MethodNonProfiled(0, "CodeHeap 'non-profiled nmethods'"),
+    MethodNonProfiled(0, "CodeHeap 'non-profiled nmethods'", "NonProfiledCodeHeapSize"),
     // Execution level 2 and 3 (profiled) nmethods
-    MethodProfiled(1, "CodeHeap 'profiled nmethods'"),
+    MethodProfiled(1, "CodeHeap 'profiled nmethods'", "ProfiledCodeHeapSize"),
     // Non-nmethods like Buffers, Adapters and Runtime Stubs
-    NonNMethod(2, "CodeHeap 'non-nmethods'") {
+    NonNMethod(2, "CodeHeap 'non-nmethods'", "NonNMethodCodeHeapSize") {
         @Override
         public boolean allowTypeWhenOverflow(BlobType type) {
             return super.allowTypeWhenOverflow(type)
                     || type == BlobType.MethodNonProfiled;
         }
     },
     // All types (No code cache segmentation)
-    All(3, "CodeCache");
+    All(3, "CodeCache", "ReservedCodeCacheSize");
 
     public final int id;
-    private final String beanName;
+    public final String sizeOptionName;
+    public final String beanName;
 
-    private BlobType(int id, String beanName) {
+    private BlobType(int id, String beanName, String sizeOptionName) {
         this.id = id;
         this.beanName = beanName;
+        this.sizeOptionName = sizeOptionName;
     }
 
     public MemoryPoolMXBean getMemoryPool() {
         for (MemoryPoolMXBean bean : ManagementFactory.getMemoryPoolMXBeans()) {
             String name = bean.getName();

@@ -85,6 +87,10 @@
             // there is no MethodProfiled in non tiered world or pure C1
             result.remove(MethodProfiled);
         }
         return result;
     }
+    
+    public long getSize() {
+        return WhiteBox.getWhiteBox().getUintxVMFlag(sizeOptionName);
+    }
 }
< prev index next >