On Fri, 2 May 2025 15:28:39 GMT, Raffaello Giulietti <[email protected]>
wrote:
>> If I understand correctly, we are talking about several (primitive) array
>> type fields having a `@Stable` annotation, in a single class, right? So we
>> aren't really talking about levels?
>> If so, given what `@Stable` is documented to do, I don't think the number of
>> fields annotated as `@Stable` plays any role in the C2 compiler generating
>> the resultant code.
>
> @jaikiran "Levels" in the sense that Q_MIN depends on E_MIN, which depends on
> E_MAX, which depends on W, which depends on P.
> If `@Stable` helps, which I think it does, great. If it doesn't, it shouldn't
> matter in practice.
Generally good cleanup @rgiulietti.
I'd like to see some kind of representation of the grammar of strings being
recognized included in this file, for example a cut-and-paste of the grammar
from Double.valueOf(String) (with leading and trailing spaces):
FloatValue:
Sign_opt NaN
Sign_opt Infinity
Sign_opt FloatingPointLiteral
Sign_opt HexFloatingPointLiteral
SignedInteger
HexFloatingPointLiteral:
HexSignificand BinaryExponent FloatTypeSuffixopt
HexSignificand:
HexNumeral
HexNumeral .
0x HexDigitsopt . HexDigits
0X HexDigitsopt . HexDigits
BinaryExponent:
BinaryExponentIndicator SignedInteger
BinaryExponentIndicator:
p
P
-------------
PR Comment: https://git.openjdk.org/jdk/pull/22737#issuecomment-2860610215