Proposal: Clarifying the CSR rules for dealing with various kinds of -XX flags for hotspot
Joseph D. Darcy
joe.darcy at oracle.com
Tue Feb 27 01:11:26 UTC 2018
Hi David,
On 2/23/2018 10:08 PM, David Holmes wrote:
> Hi Joe,
>
> On 24/02/2018 9:53 AM, Joseph D. Darcy wrote:
>> Hello,
>>
>> Catching up on email, I think the general thrust of the proposal is
>> reasonable, but I have a few questions and comments.
>>
>> First, what is the full space of kinds of builds, product XOR debug?
>
> First distinction is product vs development
>
> Development can then be: fastdebug (aka debug), slowdebug, or
> optimized (the exact definition of which I can't recall but this is a
> build variation we are removing anyway).
Okay.
>
>> What syntactic conventions, if any, distinguish all these kinds of
>> flags? Are product and manageable "-X" and all the others "-XX"?
>> (I've previously suggested in jest that a "-XXX" prefix be used for
>> less wholesome options.)
>
> There are no syntactic distinctions - these are all -XX flags,
> regardless of whether product or development, experimental etc. That
> is the long standing convention for hotspot specific flags.
>
>> If so, rather than reading of the general CSR guidelines and
>> concluding "[the guidelines] places all [HotSpot] -XX options into
>> the same CSR basket," an alternative observation might be the HotSpot
>> naming conventions choose to put multiple distinct kinds of options
>> into the same small namespace.
>
> We only have one namespace for hotspot options.
>
>> Do options commonly move between categories as part of their
>> lifecycle (e.g. experimental -> product, etc.)?
>
> Not commonly. An experimental flag may become product if the
> experimental feature is adopted - that would of course have a CSR
> request at that point. Sometimes a product flag can be reclassified as
> develop, or vice-versa - both of which would again require CSR
> requests as they involve a product flag. Most commonly flags stay in
> their initial category.
>
Here is a possible alternative long-term arrangement for your
consideration: the debug-ness, experimental-ness, etc. is encoded into
the name of the option, instead of -XX:FooBarBaz, something like
-XX:ExperFooBarBaz, or -XX:DebugFooBarBaz, etc.
In the mean time, I think the proposal put forward is acceptable.
Cheers,
-Joe
More information about the csr-discuss
mailing list