RFR: 8318811: Compiler directives parser swallows a character after line comments

Paul Hohensee phh at openjdk.org
Wed Oct 25 22:32:29 UTC 2023


On Wed, 25 Oct 2023 11:46:10 GMT, Volker Simonis <simonis at openjdk.org> wrote:

> Currently, the following valid compiler directive file:
> 
> [{
>   match: "*::*",
>   c2: { Exclude: true } // c1 only for startup
> }]
> 
> will be rejected by the parser:
> 
> Syntax error on line 4 byte 2: Expected value separator or object end (one of ',}').
>   At ']'.
> }]
> 
> Parsing of compiler directives failed
> 
> 
> This is because `JSON::skip_line_comment()`, in contradiction to its specification, does **not** "*return the first token after the line comment without consuming it*" but does consumes it.
> 
> The fix is trivial:
> 
> --- a/src/hotspot/share/utilities/json.cpp
> +++ b/src/hotspot/share/utilities/json.cpp
> @@ -580,7 +580,7 @@ u_char JSON::skip_line_comment() {
>      return 0;
>    }
>    next();
> -  return next();
> +  return peek();
>  }

Marked as reviewed by phh (Reviewer).

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

PR Review: https://git.openjdk.org/jdk/pull/16359#pullrequestreview-1698344513


More information about the hotspot-dev mailing list