< prev index next >
hotspot/src/share/vm/services/diagnosticFramework.cpp
Print this page
*** 453,481 ****
notif = _has_pending_jmx_notification;
_has_pending_jmx_notification = false;
}
if (notif) {
! Klass* k = Management::sun_management_ManagementFactoryHelper_klass(CHECK);
! instanceKlassHandle mgmt_factory_helper_klass(THREAD, k);
JavaValue result(T_OBJECT);
JavaCalls::call_static(&result,
! mgmt_factory_helper_klass,
vmSymbols::getDiagnosticCommandMBean_name(),
vmSymbols::getDiagnosticCommandMBean_signature(),
CHECK);
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)) {
THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
! "ManagementFactory.getDiagnosticCommandMBean didn't return a DiagnosticCommandMBean instance");
}
JavaValue result2(T_VOID);
JavaCallArguments args2(dcmd_mbean_h);
--- 453,478 ----
notif = _has_pending_jmx_notification;
_has_pending_jmx_notification = false;
}
if (notif) {
! Klass* k = Management::com_sun_management_internal_DiagnosticCommandImpl_klass(CHECK);
! instanceKlassHandle dcmd_mbean_klass(THREAD, k);
JavaValue result(T_OBJECT);
JavaCalls::call_static(&result,
! dcmd_mbean_klass,
vmSymbols::getDiagnosticCommandMBean_name(),
vmSymbols::getDiagnosticCommandMBean_signature(),
CHECK);
instanceOop m = (instanceOop) result.get_jobject();
instanceHandle dcmd_mbean_h(THREAD, m);
! if (!dcmd_mbean_h->is_a(k)) {
THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
! "DiagnosticCommandImpl.getDiagnosticCommandMBean didn't return a DiagnosticCommandMBean instance");
}
JavaValue result2(T_VOID);
JavaCallArguments args2(dcmd_mbean_h);
< prev index next >