RFR: 8264285: Clean the modification of ccstr JVM flags [v4]

Ioi Lam iklam at openjdk.java.net
Thu Apr 1 15:27:54 UTC 2021


> There are two versions of JVMFlagAccess::ccstrAtPut() for modifying JVM flags of the ccstr type (i.e., strings).
> 
> - One version requires the caller to free the old value, but some callers don't do that (writeableFlags.cpp).
> - The other version frees the old value on behalf of the caller. However, this version is accessible only via FLAG_SET_XXX macros and is currently unused. So it's unclear whether it actually works.
> 
> We should combine these two versions into a single function, fix problems in the callers, and add test cases. The old value should be freed automatically, because typically the caller isn't interested in the old value.
> 
> Note that the FLAG_SET_XXX macros do not return the old value. Requiring the caller of FLAG_SET_XXX to free the old value would be tedious and error prone.

Ioi Lam has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains five additional commits since the last revision:

 - Merge branch 'master' into 8264285-clean-up-setting-ccstr-jvm-flags
 - Revert "relax flag attributions (ala JDK-7123237)"
   
   This reverts commit 673aaafc4860dd7f70a3f222422ae84e85fd4219.
 - relax flag attributions (ala JDK-7123237)
 - restored SET_FLAG_XXX for ccstr type, and fixed bugs in existing ccstr modification code
 - 8264285: Do not support FLAG_SET_XXX for VM flags of string type

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3254/files
  - new: https://git.openjdk.java.net/jdk/pull/3254/files/2a5e2b19..5f912221

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=3254&range=03
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=3254&range=02-03

  Stats: 8053 lines in 376 files changed: 5492 ins; 1012 del; 1549 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3254.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3254/head:pull/3254

PR: https://git.openjdk.java.net/jdk/pull/3254


More information about the serviceability-dev mailing list