Merge
This commit is contained in:
commit
7ece654913
@ -31,6 +31,33 @@
|
|||||||
#include "services/heapDumper.hpp"
|
#include "services/heapDumper.hpp"
|
||||||
#include "services/management.hpp"
|
#include "services/management.hpp"
|
||||||
|
|
||||||
|
void DCmdRegistrant::register_dcmds(){
|
||||||
|
// Registration of the diagnostic commands
|
||||||
|
// First boolean argument specifies if the command is enabled
|
||||||
|
// Second boolean argument specifies if the command is hidden
|
||||||
|
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<HelpDCmd>(true, false));
|
||||||
|
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<VersionDCmd>(true, false));
|
||||||
|
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<CommandLineDCmd>(true, false));
|
||||||
|
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<PrintSystemPropertiesDCmd>(true, false));
|
||||||
|
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<PrintVMFlagsDCmd>(true, false));
|
||||||
|
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<VMUptimeDCmd>(true, false));
|
||||||
|
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<SystemGCDCmd>(true, false));
|
||||||
|
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<RunFinalizationDCmd>(true, false));
|
||||||
|
#ifndef SERVICES_KERNEL // Heap dumping not supported
|
||||||
|
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<HeapDumpDCmd>(true, false));
|
||||||
|
#endif // SERVICES_KERNEL
|
||||||
|
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<ClassHistogramDCmd>(true, false));
|
||||||
|
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<ThreadDumpDCmd>(true, false));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef HAVE_EXTRA_DCMD
|
||||||
|
void DCmdRegistrant::register_dcmds_ext(){
|
||||||
|
// Do nothing here
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
HelpDCmd::HelpDCmd(outputStream* output, bool heap) : DCmdWithParser(output, heap),
|
HelpDCmd::HelpDCmd(outputStream* output, bool heap) : DCmdWithParser(output, heap),
|
||||||
_all("-all", "Show help for all commands", "BOOLEAN", false, "false"),
|
_all("-all", "Show help for all commands", "BOOLEAN", false, "false"),
|
||||||
_cmd("command name", "The name of the command for which we want help",
|
_cmd("command name", "The name of the command for which we want help",
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
#include "services/diagnosticArgument.hpp"
|
#include "services/diagnosticArgument.hpp"
|
||||||
#include "services/diagnosticCommand.hpp"
|
#include "services/diagnosticCommand.hpp"
|
||||||
#include "services/diagnosticFramework.hpp"
|
#include "services/diagnosticFramework.hpp"
|
||||||
|
#include "services/diagnosticCommand_ext.hpp"
|
||||||
|
|
||||||
class HelpDCmd : public DCmdWithParser {
|
class HelpDCmd : public DCmdWithParser {
|
||||||
protected:
|
protected:
|
||||||
|
30
hotspot/src/share/vm/services/diagnosticCommand_ext.hpp
Normal file
30
hotspot/src/share/vm/services/diagnosticCommand_ext.hpp
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2012, 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
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef SHARE_VM_SERVICES_DIAGNOSTICCOMMAND_EXT_HPP
|
||||||
|
#define SHARE_VM_SERVICES_DIAGNOSTICCOMMAND_EXT_HPP
|
||||||
|
|
||||||
|
#undef HAVE_EXTRA_DCMD
|
||||||
|
|
||||||
|
#endif // SHARE_VM_SERVICES_DIAGNOSTICCOMMAND_HPP
|
@ -387,4 +387,17 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// This class provides a convenient way to register Dcmds, without a need to change
|
||||||
|
// management.cpp every time. Body of these two methods resides in
|
||||||
|
// diagnosticCommand.cpp
|
||||||
|
|
||||||
|
class DCmdRegistrant : public AllStatic {
|
||||||
|
|
||||||
|
private:
|
||||||
|
static void register_dcmds();
|
||||||
|
static void register_dcmds_ext();
|
||||||
|
|
||||||
|
friend class Management;
|
||||||
|
};
|
||||||
|
|
||||||
#endif // SHARE_VM_SERVICES_DIAGNOSTICFRAMEWORK_HPP
|
#endif // SHARE_VM_SERVICES_DIAGNOSTICFRAMEWORK_HPP
|
||||||
|
@ -119,21 +119,8 @@ void Management::init() {
|
|||||||
_optional_support.isThreadAllocatedMemorySupported = 1;
|
_optional_support.isThreadAllocatedMemorySupported = 1;
|
||||||
|
|
||||||
// Registration of the diagnostic commands
|
// Registration of the diagnostic commands
|
||||||
// First boolean argument specifies if the command is enabled
|
DCmdRegistrant::register_dcmds();
|
||||||
// Second boolean argument specifies if the command is hidden
|
DCmdRegistrant::register_dcmds_ext();
|
||||||
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<HelpDCmd>(true, false));
|
|
||||||
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<VersionDCmd>(true, false));
|
|
||||||
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<CommandLineDCmd>(true, false));
|
|
||||||
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<PrintSystemPropertiesDCmd>(true, false));
|
|
||||||
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<PrintVMFlagsDCmd>(true, false));
|
|
||||||
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<VMUptimeDCmd>(true, false));
|
|
||||||
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<SystemGCDCmd>(true, false));
|
|
||||||
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<RunFinalizationDCmd>(true, false));
|
|
||||||
#ifndef SERVICES_KERNEL // Heap dumping not supported
|
|
||||||
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<HeapDumpDCmd>(true, false));
|
|
||||||
#endif // SERVICES_KERNEL
|
|
||||||
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<ClassHistogramDCmd>(true, false));
|
|
||||||
DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<ThreadDumpDCmd>(true, false));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Management::initialize(TRAPS) {
|
void Management::initialize(TRAPS) {
|
||||||
|
Loading…
Reference in New Issue
Block a user