JDK-7117389 : Add a framework for vendor-specific command line switch extensions to Hotspot
Type:Enhancement
Component:hotspot
Sub-Component:runtime
Affected Version:hs23
Priority:P4
Status:Closed
Resolution:Fixed
OS:generic
CPU:generic
Submitted:2011-12-02
Updated:2012-03-22
Resolved:2012-01-20
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
Oracle, and perhaps Java source licensees, would like to add command line switches
to Hotspot that are vendor-specific. To this end, a framework for doing so is needed.
SUGGESTED FIX
The basic idea is to add vendor-specific implementation hooks to globals.hpp,
globals.cpp and globals_extension.hpp. The hooks live in globals_ext.hpp,
of which there are two versions, one in src/share/vm/runtime that's
a null implementation of the hooks, and another in vendor-specific code.
The hooks in globals_ext.hpp look like this.
// globals_extension.hpp extension
// Additional CommandLineFlags enum values
#define COMMANDLINEFLAG_EXT
// Additional CommandLineFlagsWithType enum values
#define COMMANDLINEFLAGWITHTYPE_EXT
// globals.cpp extension
// Additional flag definitions
#define MATERIALIZE_FLAGS_EXT
// Additional flag descriptors: see flagTable definition
#define FLAGTABLE_EXT
// Default method implementations
inline bool Flag::is_unlocker_ext() const {
return false;
}
inline bool Flag::is_unlocked_ext() const {
return true;
}