On Mon, 13 Nov 2023 13:33:26 GMT, Thomas Stuefe <[email protected]> wrote:
>> When using 'MemStat' CompileCommand, we accidentally register the command if
>> an invalid suboption had been specified. Fixed, added regression test
>> (verified).
>
> Thomas Stuefe has updated the pull request with a new target base due to a
> merge or a rebase. The pull request now contains six commits:
>
> - Merge branch 'master' into
> JDK-8318671-Potential-uninitialized-uintx-value-after-JDK-8317683
> - Fix Windows build
> - remove tab
> - Make patch more palatable
> - Merge branch 'openjdk:master' into
> JDK-8318671-Potential-uninitialized-uintx-value-after-JDK-8317683
> - JDK-8318671-Potential-uninitialized-uintx-value-after-JDK-8317683
src/hotspot/share/compiler/compilerOracle.cpp line 678:
> 676: // Parse an uintx-based option value. Also takes care of parsing enum
> values for options that are enums.
> 677: // Returns true if ok, false if the value could not be parsed.
> 678: static bool parseUintxValue(enum CompileCommand option, const char*
> line, uintx& value, int& bytes_read) {
It is honestly weird to see `parse***Uintx***Value` dealing with enums, and be
specialized for `MemStat`. Can you reflow this to match how `MemLimit` does it?
https://github.com/openjdk/jdk/blob/7bb1999c51cdfeb020047e1094229fda1ec5a99d/src/hotspot/share/compiler/compilerOracle.cpp#L702
src/hotspot/share/compiler/compilerOracle.cpp line 727:
> 725: line += bytes_read;
> 726: register_command(matcher, option, value);
> 727: return;
Why this `return` removed? All other cases in this file have the `return` after
`register_command`, which I assume the style here: once any command is properly
matched, return.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16335#discussion_r1392741630
PR Review Comment: https://git.openjdk.org/jdk/pull/16335#discussion_r1392718662