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.

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

Commit messages:
 - 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: https://git.openjdk.java.net/jdk/pull/3254/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3254&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8264285
  Stats: 205 lines in 9 files changed: 160 ins; 24 del; 21 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

Reply via email to