mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 23:04:50 +02:00
8042901: Allow com.sun.management to be in a different module to java.lang.management
Reviewed-by: mchung, dfuchs, erikj, jbachorik
This commit is contained in:
parent
32a8aa9ade
commit
38e3be4c28
14 changed files with 88 additions and 89 deletions
|
@ -531,18 +531,17 @@
|
|||
template(java_lang_management_ThreadState, "java/lang/management/ThreadState") \
|
||||
template(java_lang_management_MemoryUsage, "java/lang/management/MemoryUsage") \
|
||||
template(java_lang_management_ThreadInfo, "java/lang/management/ThreadInfo") \
|
||||
template(sun_management_ManagementFactory, "sun/management/ManagementFactory") \
|
||||
template(sun_management_Sensor, "sun/management/Sensor") \
|
||||
template(sun_management_Agent, "sun/management/Agent") \
|
||||
template(sun_management_DiagnosticCommandImpl, "sun/management/DiagnosticCommandImpl") \
|
||||
template(sun_management_GarbageCollectorImpl, "sun/management/GarbageCollectorImpl") \
|
||||
template(com_sun_management_internal_DiagnosticCommandImpl, "com/sun/management/internal/DiagnosticCommandImpl") \
|
||||
template(com_sun_management_internal_GarbageCollectorExtImpl,"com/sun/management/internal/GarbageCollectorExtImpl") \
|
||||
template(sun_management_ManagementFactoryHelper, "sun/management/ManagementFactoryHelper") \
|
||||
template(getDiagnosticCommandMBean_name, "getDiagnosticCommandMBean") \
|
||||
template(getDiagnosticCommandMBean_signature, "()Lcom/sun/management/DiagnosticCommandMBean;") \
|
||||
template(getGcInfoBuilder_name, "getGcInfoBuilder") \
|
||||
template(getGcInfoBuilder_signature, "()Lsun/management/GcInfoBuilder;") \
|
||||
template(getGcInfoBuilder_signature, "()Lcom/sun/management/internal/GcInfoBuilder;") \
|
||||
template(com_sun_management_GcInfo, "com/sun/management/GcInfo") \
|
||||
template(com_sun_management_GcInfo_constructor_signature, "(Lsun/management/GcInfoBuilder;JJJ[Ljava/lang/management/MemoryUsage;[Ljava/lang/management/MemoryUsage;[Ljava/lang/Object;)V") \
|
||||
template(com_sun_management_GcInfo_constructor_signature, "(Lcom/sun/management/internal/GcInfoBuilder;JJJ[Ljava/lang/management/MemoryUsage;[Ljava/lang/management/MemoryUsage;[Ljava/lang/Object;)V") \
|
||||
template(createGCNotification_name, "createGCNotification") \
|
||||
template(createGCNotification_signature, "(JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/sun/management/GcInfo;)V") \
|
||||
template(createDiagnosticFrameworkNotification_name, "createDiagnosticFrameworkNotification") \
|
||||
|
|
|
@ -455,12 +455,12 @@ void DCmdFactory::send_notification_internal(TRAPS) {
|
|||
}
|
||||
if (notif) {
|
||||
|
||||
Klass* k = Management::sun_management_ManagementFactoryHelper_klass(CHECK);
|
||||
instanceKlassHandle mgmt_factory_helper_klass(THREAD, k);
|
||||
Klass* k = Management::com_sun_management_internal_DiagnosticCommandImpl_klass(CHECK);
|
||||
instanceKlassHandle dcmd_mbean_klass(THREAD, k);
|
||||
|
||||
JavaValue result(T_OBJECT);
|
||||
JavaCalls::call_static(&result,
|
||||
mgmt_factory_helper_klass,
|
||||
dcmd_mbean_klass,
|
||||
vmSymbols::getDiagnosticCommandMBean_name(),
|
||||
vmSymbols::getDiagnosticCommandMBean_signature(),
|
||||
CHECK);
|
||||
|
@ -468,12 +468,9 @@ void DCmdFactory::send_notification_internal(TRAPS) {
|
|||
instanceOop m = (instanceOop) result.get_jobject();
|
||||
instanceHandle dcmd_mbean_h(THREAD, m);
|
||||
|
||||
Klass* k2 = Management::sun_management_DiagnosticCommandImpl_klass(CHECK);
|
||||
instanceKlassHandle dcmd_mbean_klass(THREAD, k2);
|
||||
|
||||
if (!dcmd_mbean_h->is_a(k2)) {
|
||||
if (!dcmd_mbean_h->is_a(k)) {
|
||||
THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
|
||||
"ManagementFactory.getDiagnosticCommandMBean didn't return a DiagnosticCommandMBean instance");
|
||||
"DiagnosticCommandImpl.getDiagnosticCommandMBean didn't return a DiagnosticCommandMBean instance");
|
||||
}
|
||||
|
||||
JavaValue result2(T_VOID);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -77,7 +77,7 @@ bool GCNotifier::has_event() {
|
|||
|
||||
static Handle getGcInfoBuilder(GCMemoryManager *gcManager,TRAPS) {
|
||||
|
||||
Klass* k = Management::sun_management_GarbageCollectorImpl_klass(CHECK_NH);
|
||||
Klass* k = Management::com_sun_management_internal_GarbageCollectorExtImpl_klass(CHECK_NH);
|
||||
instanceKlassHandle gcMBeanKlass (THREAD, k);
|
||||
|
||||
instanceOop i = gcManager->get_memory_manager_instance(THREAD);
|
||||
|
@ -214,8 +214,8 @@ void GCNotifier::sendNotificationInternal(TRAPS) {
|
|||
Handle objName = java_lang_String::create_from_str(request->gcManager->name(), CHECK);
|
||||
Handle objAction = java_lang_String::create_from_str(request->gcAction, CHECK);
|
||||
Handle objCause = java_lang_String::create_from_str(request->gcCause, CHECK);
|
||||
Klass* k = Management::com_sun_management_internal_GarbageCollectorExtImpl_klass(CHECK);
|
||||
|
||||
Klass* k = Management::sun_management_GarbageCollectorImpl_klass(CHECK);
|
||||
instanceKlassHandle gc_mbean_klass(THREAD, k);
|
||||
|
||||
instanceOop gc_mbean = request->gcManager->get_memory_manager_instance(THREAD);
|
||||
|
|
|
@ -64,18 +64,16 @@ PerfVariable* Management::_begin_vm_creation_time = NULL;
|
|||
PerfVariable* Management::_end_vm_creation_time = NULL;
|
||||
PerfVariable* Management::_vm_init_done_time = NULL;
|
||||
|
||||
Klass* Management::_diagnosticCommandImpl_klass = NULL;
|
||||
Klass* Management::_garbageCollectorExtImpl_klass = NULL;
|
||||
Klass* Management::_garbageCollectorMXBean_klass = NULL;
|
||||
Klass* Management::_gcInfo_klass = NULL;
|
||||
Klass* Management::_managementFactoryHelper_klass = NULL;
|
||||
Klass* Management::_memoryManagerMXBean_klass = NULL;
|
||||
Klass* Management::_memoryPoolMXBean_klass = NULL;
|
||||
Klass* Management::_memoryUsage_klass = NULL;
|
||||
Klass* Management::_sensor_klass = NULL;
|
||||
Klass* Management::_threadInfo_klass = NULL;
|
||||
Klass* Management::_memoryUsage_klass = NULL;
|
||||
Klass* Management::_memoryPoolMXBean_klass = NULL;
|
||||
Klass* Management::_memoryManagerMXBean_klass = NULL;
|
||||
Klass* Management::_garbageCollectorMXBean_klass = NULL;
|
||||
Klass* Management::_managementFactory_klass = NULL;
|
||||
Klass* Management::_garbageCollectorImpl_klass = NULL;
|
||||
Klass* Management::_gcInfo_klass = NULL;
|
||||
Klass* Management::_diagnosticCommandImpl_klass = NULL;
|
||||
Klass* Management::_managementFactoryHelper_klass = NULL;
|
||||
|
||||
|
||||
jmmOptionalSupport Management::_optional_support = {0};
|
||||
TimeStamp Management::_stamp;
|
||||
|
@ -255,18 +253,18 @@ Klass* Management::sun_management_Sensor_klass(TRAPS) {
|
|||
return _sensor_klass;
|
||||
}
|
||||
|
||||
Klass* Management::sun_management_ManagementFactory_klass(TRAPS) {
|
||||
if (_managementFactory_klass == NULL) {
|
||||
_managementFactory_klass = load_and_initialize_klass(vmSymbols::sun_management_ManagementFactory(), CHECK_NULL);
|
||||
Klass* Management::sun_management_ManagementFactoryHelper_klass(TRAPS) {
|
||||
if (_managementFactoryHelper_klass == NULL) {
|
||||
_managementFactoryHelper_klass = load_and_initialize_klass(vmSymbols::sun_management_ManagementFactoryHelper(), CHECK_NULL);
|
||||
}
|
||||
return _managementFactory_klass;
|
||||
return _managementFactoryHelper_klass;
|
||||
}
|
||||
|
||||
Klass* Management::sun_management_GarbageCollectorImpl_klass(TRAPS) {
|
||||
if (_garbageCollectorImpl_klass == NULL) {
|
||||
_garbageCollectorImpl_klass = load_and_initialize_klass(vmSymbols::sun_management_GarbageCollectorImpl(), CHECK_NULL);
|
||||
Klass* Management::com_sun_management_internal_GarbageCollectorExtImpl_klass(TRAPS) {
|
||||
if (_garbageCollectorExtImpl_klass == NULL) {
|
||||
_garbageCollectorExtImpl_klass = load_and_initialize_klass(vmSymbols::com_sun_management_internal_GarbageCollectorExtImpl(), CHECK_NULL);
|
||||
}
|
||||
return _garbageCollectorImpl_klass;
|
||||
return _garbageCollectorExtImpl_klass;
|
||||
}
|
||||
|
||||
Klass* Management::com_sun_management_GcInfo_klass(TRAPS) {
|
||||
|
@ -276,20 +274,13 @@ Klass* Management::com_sun_management_GcInfo_klass(TRAPS) {
|
|||
return _gcInfo_klass;
|
||||
}
|
||||
|
||||
Klass* Management::sun_management_DiagnosticCommandImpl_klass(TRAPS) {
|
||||
Klass* Management::com_sun_management_internal_DiagnosticCommandImpl_klass(TRAPS) {
|
||||
if (_diagnosticCommandImpl_klass == NULL) {
|
||||
_diagnosticCommandImpl_klass = load_and_initialize_klass(vmSymbols::sun_management_DiagnosticCommandImpl(), CHECK_NULL);
|
||||
_diagnosticCommandImpl_klass = load_and_initialize_klass(vmSymbols::com_sun_management_internal_DiagnosticCommandImpl(), CHECK_NULL);
|
||||
}
|
||||
return _diagnosticCommandImpl_klass;
|
||||
}
|
||||
|
||||
Klass* Management::sun_management_ManagementFactoryHelper_klass(TRAPS) {
|
||||
if (_managementFactoryHelper_klass == NULL) {
|
||||
_managementFactoryHelper_klass = load_and_initialize_klass(vmSymbols::sun_management_ManagementFactoryHelper(), CHECK_NULL);
|
||||
}
|
||||
return _managementFactoryHelper_klass;
|
||||
}
|
||||
|
||||
static void initialize_ThreadInfo_constructor_arguments(JavaCallArguments* args, ThreadSnapshot* snapshot, TRAPS) {
|
||||
Handle snapshot_thread(THREAD, snapshot->threadObj());
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -42,18 +42,16 @@ private:
|
|||
static TimeStamp _stamp; // Timestamp since vm init done time
|
||||
|
||||
// Management klasses
|
||||
static Klass* _diagnosticCommandImpl_klass;
|
||||
static Klass* _garbageCollectorExtImpl_klass;
|
||||
static Klass* _garbageCollectorMXBean_klass;
|
||||
static Klass* _gcInfo_klass;
|
||||
static Klass* _managementFactoryHelper_klass;
|
||||
static Klass* _memoryManagerMXBean_klass;
|
||||
static Klass* _memoryPoolMXBean_klass;
|
||||
static Klass* _memoryUsage_klass;
|
||||
static Klass* _sensor_klass;
|
||||
static Klass* _threadInfo_klass;
|
||||
static Klass* _memoryUsage_klass;
|
||||
static Klass* _memoryPoolMXBean_klass;
|
||||
static Klass* _memoryManagerMXBean_klass;
|
||||
static Klass* _garbageCollectorMXBean_klass;
|
||||
static Klass* _managementFactory_klass;
|
||||
static Klass* _garbageCollectorImpl_klass;
|
||||
static Klass* _diagnosticCommandImpl_klass;
|
||||
static Klass* _managementFactoryHelper_klass;
|
||||
static Klass* _gcInfo_klass;
|
||||
|
||||
static Klass* load_and_initialize_klass(Symbol* sh, TRAPS);
|
||||
|
||||
public:
|
||||
|
@ -93,17 +91,15 @@ public:
|
|||
static Klass* java_lang_management_MemoryPoolMXBean_klass(TRAPS);
|
||||
static Klass* java_lang_management_MemoryManagerMXBean_klass(TRAPS);
|
||||
static Klass* java_lang_management_GarbageCollectorMXBean_klass(TRAPS);
|
||||
static Klass* sun_management_ManagementFactoryHelper_klass(TRAPS)
|
||||
NOT_MANAGEMENT_RETURN_(NULL);
|
||||
static Klass* sun_management_Sensor_klass(TRAPS)
|
||||
NOT_MANAGEMENT_RETURN_(NULL);
|
||||
static Klass* sun_management_ManagementFactory_klass(TRAPS)
|
||||
NOT_MANAGEMENT_RETURN_(NULL);
|
||||
static Klass* sun_management_GarbageCollectorImpl_klass(TRAPS)
|
||||
static Klass* com_sun_management_internal_GarbageCollectorExtImpl_klass(TRAPS)
|
||||
NOT_MANAGEMENT_RETURN_(NULL);
|
||||
static Klass* com_sun_management_GcInfo_klass(TRAPS)
|
||||
NOT_MANAGEMENT_RETURN_(NULL);
|
||||
static Klass* sun_management_DiagnosticCommandImpl_klass(TRAPS)
|
||||
NOT_MANAGEMENT_RETURN_(NULL);
|
||||
static Klass* sun_management_ManagementFactoryHelper_klass(TRAPS)
|
||||
static Klass* com_sun_management_internal_DiagnosticCommandImpl_klass(TRAPS)
|
||||
NOT_MANAGEMENT_RETURN_(NULL);
|
||||
|
||||
static instanceOop create_thread_info_instance(ThreadSnapshot* snapshot, TRAPS);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -98,8 +98,7 @@ instanceOop MemoryManager::get_memory_manager_instance(TRAPS) {
|
|||
if (mgr_obj == NULL) {
|
||||
// It's ok for more than one thread to execute the code up to the locked region.
|
||||
// Extra manager instances will just be gc'ed.
|
||||
Klass* k = Management::sun_management_ManagementFactory_klass(CHECK_0);
|
||||
instanceKlassHandle ik(THREAD, k);
|
||||
Klass* k = Management::sun_management_ManagementFactoryHelper_klass(CHECK_0);
|
||||
|
||||
Handle mgr_name = java_lang_String::create_from_str(name(), CHECK_0);
|
||||
|
||||
|
@ -110,7 +109,14 @@ instanceOop MemoryManager::get_memory_manager_instance(TRAPS) {
|
|||
Symbol* method_name = NULL;
|
||||
Symbol* signature = NULL;
|
||||
if (is_gc_memory_manager()) {
|
||||
Klass* extKlass = Management::com_sun_management_internal_GarbageCollectorExtImpl_klass(CHECK_0);
|
||||
// com.sun.management.GarbageCollectorMXBean is in jdk.management module which may not be present.
|
||||
if (extKlass != NULL) {
|
||||
k = extKlass;
|
||||
}
|
||||
|
||||
method_name = vmSymbols::createGarbageCollector_name();
|
||||
|
||||
signature = vmSymbols::createGarbageCollector_signature();
|
||||
args.push_oop(Handle()); // Argument 2 (for future extension)
|
||||
} else {
|
||||
|
@ -118,6 +124,8 @@ instanceOop MemoryManager::get_memory_manager_instance(TRAPS) {
|
|||
signature = vmSymbols::createMemoryManager_signature();
|
||||
}
|
||||
|
||||
instanceKlassHandle ik(THREAD, k);
|
||||
|
||||
JavaCalls::call_static(&result,
|
||||
ik,
|
||||
method_name,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -86,7 +86,7 @@ instanceOop MemoryPool::get_memory_pool_instance(TRAPS) {
|
|||
if (pool_obj == NULL) {
|
||||
// It's ok for more than one thread to execute the code up to the locked region.
|
||||
// Extra pool instances will just be gc'ed.
|
||||
Klass* k = Management::sun_management_ManagementFactory_klass(CHECK_NULL);
|
||||
Klass* k = Management::sun_management_ManagementFactoryHelper_klass(CHECK_NULL);
|
||||
instanceKlassHandle ik(THREAD, k);
|
||||
|
||||
Handle pool_name = java_lang_String::create_from_str(_name, CHECK_NULL);
|
||||
|
|
|
@ -58,9 +58,11 @@
|
|||
*/
|
||||
|
||||
import com.oracle.java.testlibrary.*;
|
||||
import com.sun.management.HotSpotDiagnosticMXBean;
|
||||
import java.lang.management.ManagementFactory;
|
||||
import static com.oracle.java.testlibrary.Asserts.*;
|
||||
|
||||
import sun.hotspot.WhiteBox;
|
||||
import sun.management.ManagementFactoryHelper;
|
||||
|
||||
public class TestSmallHeap {
|
||||
|
||||
|
@ -69,7 +71,9 @@ public class TestSmallHeap {
|
|||
int pageSize = wb.getVMPageSize();
|
||||
int heapBytesPerCard = 512;
|
||||
long expectedMaxHeap = pageSize * heapBytesPerCard;
|
||||
String maxHeap = ManagementFactoryHelper.getDiagnosticMXBean().getVMOption("MaxHeapSize").getValue();
|
||||
String maxHeap
|
||||
= ManagementFactory.getPlatformMXBean(HotSpotDiagnosticMXBean.class)
|
||||
.getVMOption("MaxHeapSize").getValue();
|
||||
assertEQ(Long.parseLong(maxHeap), expectedMaxHeap);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,14 +33,15 @@
|
|||
* @run main/othervm -XX:G1HeapRegionSize=64m -Xmx256m TestG1HeapRegionSize 33554432
|
||||
*/
|
||||
|
||||
import sun.management.ManagementFactoryHelper;
|
||||
import com.sun.management.HotSpotDiagnosticMXBean;
|
||||
import com.sun.management.VMOption;
|
||||
import java.lang.management.ManagementFactory;
|
||||
|
||||
public class TestG1HeapRegionSize {
|
||||
|
||||
public static void main(String[] args) {
|
||||
HotSpotDiagnosticMXBean diagnostic = ManagementFactoryHelper.getDiagnosticMXBean();
|
||||
HotSpotDiagnosticMXBean diagnostic =
|
||||
ManagementFactory.getPlatformMXBean(HotSpotDiagnosticMXBean.class);
|
||||
|
||||
String expectedValue = getExpectedValue(args);
|
||||
VMOption option = diagnostic.getVMOption("UseG1GC");
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, 2015,Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -21,7 +21,6 @@
|
|||
* questions.
|
||||
*/
|
||||
|
||||
import sun.management.ManagementFactoryHelper;
|
||||
import com.sun.management.HotSpotDiagnosticMXBean;
|
||||
import com.sun.management.VMOption;
|
||||
|
||||
|
@ -31,6 +30,7 @@ import java.util.ArrayList;
|
|||
import java.util.Arrays;
|
||||
|
||||
import com.oracle.java.testlibrary.*;
|
||||
import java.lang.management.ManagementFactory;
|
||||
import sun.hotspot.WhiteBox;
|
||||
|
||||
class DetermineMaxHeapForCompressedOops {
|
||||
|
@ -43,7 +43,8 @@ class DetermineMaxHeapForCompressedOops {
|
|||
class TestUseCompressedOopsErgoTools {
|
||||
|
||||
private static long getCompressedClassSpaceSize() {
|
||||
HotSpotDiagnosticMXBean diagnostic = ManagementFactoryHelper.getDiagnosticMXBean();
|
||||
HotSpotDiagnosticMXBean diagnostic =
|
||||
ManagementFactory.getPlatformMXBean(HotSpotDiagnosticMXBean.class);
|
||||
|
||||
VMOption option = diagnostic.getVMOption("CompressedClassSpaceSize");
|
||||
return Long.parseLong(option.getValue());
|
||||
|
@ -174,4 +175,3 @@ class TestUseCompressedOopsErgoTools {
|
|||
return expect(flags, false, false, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -34,11 +34,11 @@
|
|||
* TestHumongousShrinkHeap
|
||||
*/
|
||||
|
||||
import com.sun.management.HotSpotDiagnosticMXBean;
|
||||
import java.lang.management.ManagementFactory;
|
||||
import java.lang.management.MemoryUsage;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import sun.management.ManagementFactoryHelper;
|
||||
import static com.oracle.java.testlibrary.Asserts.*;
|
||||
|
||||
public class TestHumongousShrinkHeap {
|
||||
|
@ -83,9 +83,11 @@ public class TestHumongousShrinkHeap {
|
|||
"committed free heap size is not less than committed full heap size, heap hasn't been shrunk?%n"
|
||||
+ "%s = %s%n%s = %s",
|
||||
MIN_FREE_RATIO_FLAG_NAME,
|
||||
ManagementFactoryHelper.getDiagnosticMXBean().getVMOption(MIN_FREE_RATIO_FLAG_NAME).getValue(),
|
||||
ManagementFactory.getPlatformMXBean(HotSpotDiagnosticMXBean.class)
|
||||
.getVMOption(MIN_FREE_RATIO_FLAG_NAME).getValue(),
|
||||
MAX_FREE_RATIO_FLAG_NAME,
|
||||
ManagementFactoryHelper.getDiagnosticMXBean().getVMOption(MAX_FREE_RATIO_FLAG_NAME).getValue()
|
||||
ManagementFactory.getPlatformMXBean(HotSpotDiagnosticMXBean.class)
|
||||
.getVMOption(MAX_FREE_RATIO_FLAG_NAME).getValue()
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -39,10 +39,10 @@ import java.lang.management.ManagementFactory;
|
|||
import java.lang.management.MemoryUsage;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import sun.management.ManagementFactoryHelper;
|
||||
import static com.oracle.java.testlibrary.Asserts.*;
|
||||
import com.oracle.java.testlibrary.ProcessTools;
|
||||
import com.oracle.java.testlibrary.OutputAnalyzer;
|
||||
import com.sun.management.HotSpotDiagnosticMXBean;
|
||||
|
||||
public class TestShrinkDefragmentedHeap {
|
||||
// Since we store all the small objects, they become old and old regions are also allocated at the bottom of the heap
|
||||
|
@ -144,9 +144,11 @@ public class TestShrinkDefragmentedHeap {
|
|||
"committed free heap size is not less than committed full heap size, heap hasn't been shrunk?%n"
|
||||
+ "%s = %s%n%s = %s",
|
||||
MIN_FREE_RATIO_FLAG_NAME,
|
||||
ManagementFactoryHelper.getDiagnosticMXBean().getVMOption(MIN_FREE_RATIO_FLAG_NAME).getValue(),
|
||||
ManagementFactory.getPlatformMXBean(HotSpotDiagnosticMXBean.class)
|
||||
.getVMOption(MIN_FREE_RATIO_FLAG_NAME).getValue(),
|
||||
MAX_FREE_RATIO_FLAG_NAME,
|
||||
ManagementFactoryHelper.getDiagnosticMXBean().getVMOption(MAX_FREE_RATIO_FLAG_NAME).getValue()
|
||||
ManagementFactory.getPlatformMXBean(HotSpotDiagnosticMXBean.class)
|
||||
.getVMOption(MAX_FREE_RATIO_FLAG_NAME).getValue()
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -25,14 +25,11 @@
|
|||
* Common helpers for TestSummarizeRSetStats* tests
|
||||
*/
|
||||
|
||||
import sun.management.ManagementFactoryHelper;
|
||||
import com.sun.management.HotSpotDiagnosticMXBean;
|
||||
import com.sun.management.VMOption;
|
||||
|
||||
import com.oracle.java.testlibrary.*;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.lang.Thread;
|
||||
import java.lang.management.ManagementFactory;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
|
@ -74,7 +71,8 @@ public class TestSummarizeRSetStatsTools {
|
|||
|
||||
// the VM is currently run using G1GC, i.e. trying to test G1 functionality.
|
||||
public static boolean testingG1GC() {
|
||||
HotSpotDiagnosticMXBean diagnostic = ManagementFactoryHelper.getDiagnosticMXBean();
|
||||
HotSpotDiagnosticMXBean diagnostic =
|
||||
ManagementFactory.getPlatformMXBean(HotSpotDiagnosticMXBean.class);
|
||||
|
||||
VMOption option = diagnostic.getVMOption("UseG1GC");
|
||||
if (option.getValue().equals("false")) {
|
||||
|
@ -150,4 +148,3 @@ public class TestSummarizeRSetStatsTools {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -33,8 +33,8 @@ import com.oracle.java.testlibrary.DynamicVMOption;
|
|||
import java.lang.management.ManagementFactory;
|
||||
import java.lang.management.MemoryUsage;
|
||||
import java.util.ArrayList;
|
||||
import sun.management.ManagementFactoryHelper;
|
||||
import static com.oracle.java.testlibrary.Asserts.assertLessThan;
|
||||
import com.sun.management.HotSpotDiagnosticMXBean;
|
||||
|
||||
public class TestDynShrinkHeap {
|
||||
|
||||
|
@ -63,9 +63,11 @@ public class TestDynShrinkHeap {
|
|||
"committed free heap size is not less than committed full heap size, heap hasn't been shrunk?%n"
|
||||
+ "%s = %s%n%s = %s",
|
||||
MIN_FREE_RATIO_FLAG_NAME,
|
||||
ManagementFactoryHelper.getDiagnosticMXBean().getVMOption(MIN_FREE_RATIO_FLAG_NAME).getValue(),
|
||||
ManagementFactory.getPlatformMXBean(HotSpotDiagnosticMXBean.class)
|
||||
.getVMOption(MIN_FREE_RATIO_FLAG_NAME).getValue(),
|
||||
MAX_FREE_RATIO_FLAG_NAME,
|
||||
ManagementFactoryHelper.getDiagnosticMXBean().getVMOption(MAX_FREE_RATIO_FLAG_NAME).getValue()
|
||||
ManagementFactory.getPlatformMXBean(HotSpotDiagnosticMXBean.class)
|
||||
.getVMOption(MAX_FREE_RATIO_FLAG_NAME).getValue()
|
||||
));
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue