On Mon, 13 Nov 2023 13:33:26 GMT, Thomas Stuefe <stu...@openjdk.org> 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

Reply via email to