提交 c1e4e234 编写于 作者: D dlong

Merge

......@@ -84,6 +84,8 @@ public class WhiteBox {
return isClassAlive0(name.replace('.', '/'));
}
private native boolean isClassAlive0(String name);
public native boolean isMonitorInflated(Object obj);
public native void forceSafepoint();
// JVMTI
public native void addToBootstrapClassLoaderSearch(String segment);
......
......@@ -32,11 +32,11 @@ 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)
......@@ -44,14 +44,16 @@ public enum BlobType {
}
},
// 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() {
......@@ -87,4 +89,8 @@ public enum BlobType {
}
return result;
}
public long getSize() {
return WhiteBox.getWhiteBox().getUintxVMFlag(sizeOptionName);
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册