On Fri, 4 Apr 2025 23:42:26 GMT, Stuart Marks <sma...@openjdk.org> wrote:
> Some of the code that creates various encoding properties at JVM > initialization time, such as file.encoding and native.encoding, could use > some cleaning up. Cleanup is fairly minimal and should be mostly > behavior-preserving. Changes include the following: > > * In the java_props.h and java_props_md.c files, add documentation and > asserts that the sprops.encoding and sprops.sun_jnu_encoding members are > always set to non-NULL by the platform-specific code. > > * In SystemProps.java, remove a null check that is now extraneous based on > the above assertion. > > * In SystemProps.java, rearrange logic (with no behavior change) around > handling of the "COMPAT" value for the file.encoding property. > > * In SystemProps.Raw, rename the platform properties array index from > _file_encoding_NDX to _native_encoding_NDX. > > * In SystemProps.Raw.cmdProperties(), adjust the HashMap size computation. > This should actually avoid resizing of the HashMap (unlike the earlier code). > > * Adjust various comments in several places for clarity and correctness. Thanks for the clean-up. Changing the index name from `_file_encoding_NDX` to `_native_encoding_NDX` really helps. src/java.base/share/native/libjava/System.c line 153: > 151: /* > 152: * Since sun_jnu_encoding is now hard-coded to UTF-8 on Mac, we don't > 153: * want to use it to overwrite file.encoding This `file.encoding` can also be renamed. Should have been done with JEP 400 ------------- PR Review: https://git.openjdk.org/jdk/pull/24463#pullrequestreview-2747544328 PR Review Comment: https://git.openjdk.org/jdk/pull/24463#discussion_r2031675274