On Thu, 3 Aug 2023 19:15:30 GMT, Coleen Phillimore <cole...@openjdk.org> wrote:

>> As far as I've designed it, only the last two bits of the flags are ever set 
>> or used. C++ booleans are either 0 or 1 so the higher bits should never be 
>> set.
>
> It is only two bits and the only variable here "is_final_shift" is 1.  This 
> could use 1 to make it obvious but the variable is used in the 
> templateInterpreter code.  Again, I think this is good.  This is never going 
> to be a bug.

It's fine unless the shift values get changed so the value no longer fits in 
u1.  Then it fails silently.
As an alternative to checked_cast, how about something like:

assert(is_final() == is_final, "");
assert(is_volatile() == is_volatile, "");

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

PR Review Comment: https://git.openjdk.org/jdk/pull/15126#discussion_r1283787162

Reply via email to