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.

To download the current JDK release, click here.
JDK 7 JDK 8 Other
7u4Fixed 8Fixed hs23Fixed
Related Reports
Relates :  
Relates :  
Description
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.

Comments
EVALUATION http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/cd00eaeebef6
22-03-2012

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-emb/hotspot/rev/cd00eaeebef6
15-12-2011

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/cd00eaeebef6
05-12-2011

EVALUATION Ok.
02-12-2011

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; }
02-12-2011