-
Notifications
You must be signed in to change notification settings - Fork 5.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
8264285: Clean the modification of ccstr JVM flags #3254
Changes from 1 commit
4fe5df9
7eca234
673aaaf
2a5e2b1
5f91222
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -38,6 +38,19 @@ | |
// just in case someone may add such a flag in the future. | ||
// | ||
|
||
#ifndef ASSERT | ||
|
||
#define DEBUG_RUNTIME_FLAGS(develop, \ | ||
develop_pd, \ | ||
product, \ | ||
product_pd, \ | ||
notproduct, \ | ||
range, \ | ||
constraint) \ | ||
\ | ||
|
||
#else | ||
|
||
#define DEBUG_RUNTIME_FLAGS(develop, \ | ||
develop_pd, \ | ||
product, \ | ||
|
@@ -46,12 +59,14 @@ | |
range, \ | ||
constraint) \ | ||
\ | ||
notproduct(ccstr, DummyManageableStringFlag, NULL, MANAGEABLE, \ | ||
product(ccstr, DummyManageableStringFlag, NULL, MANAGEABLE, \ | ||
"Dummy flag for testing string handling in WriteableFlags") \ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So this is in essence a product/manageable flag in debug only mode, which doesn't make sense at all, necessitating another macro that looks honestly bizarre. So I think that means a non-product manageable flag or even a develop manageable flag is something that we want, we want to be able to write a develop flag by the management interface. I agree diagnostic and experimental flags only seem to make sense as product flags. The doc could simply be updated. Also the doc at the top of this file refers to CCC which is no longer -> CSR. // MANAGEABLE flags are writeable external product flags. I'm not going to spend time typing about this minor point. The improvement is good and should be checked in. |
||
\ | ||
|
||
// end of DEBUG_RUNTIME_FLAGS | ||
|
||
#endif // ASSERT | ||
|
||
DECLARE_FLAGS(DEBUG_RUNTIME_FLAGS) | ||
|
||
#endif // SHARE_RUNTIME_DEBUG_GLOBALS_HPP |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you have just added a develop flag to the manageable flags instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had to use a
product
flag due to the following code, which should have been removed as part of JDK-8243208, but I was afraid to do so because I didn't have a test case. I.e., all of our diagnostic/manageable/experimental flags wereproduct
flags.With this PR, now I have a test case -- I changed
DummyManageableStringFlag
to anotproduct
flag, and removed the following code. I am re-running tiers1-4 now.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the difference between notproduct and develop again? Do we run tests with the optimized build and why would this flag be available in that build? ie. why not develop?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From the top of globals.hpp:
develop
flags are settable / visible only during development and are constant in the PRODUCT versionnotproduct
flags are settable / visible only during development and are not declared in the PRODUCT versionSince this flag is only used in test cases, and specifically for modifying its value, it doesn't make sense to expose this flag to the PRODUCT version at all. So I chose
notproduct
, so we can save a few bytes for the PRODUCT as well.