On Thu, 21 Nov 2024 06:33:30 GMT, Leonid Mesnik <[email protected]> wrote:
>> Okay but just to be clear, this change means that the maximum value of this
>> parameter is no longer limited to a 32-bit integer maximum, but is now a
>> 64-bit maximum - the old `parse_integer` function was passed `int` not
>> `jlong`.
>
> As I understand, the "INT" as parsed as jlong in jcmd. It is not limited by
> 32-bit. So that's ok. I thought to change max from int to size_t as it done
> in many cases or check if it too big for jint.
> However, I doubt that anyone is going to use so huge numbers there.
> The VM.events prints several latest event, remembered by Hotspot. The max
> number is set by LogEventsBufferEntries and is 20 by default and 250 for ZGC.
> The hard-limit is 1*M.
> So any value more then LogEventsBufferEntries doesn't limit anything.
> Might be makes sense to treat all values > MAX_INT just as unlimited just in
> case someone made mistake?
const char* max_value = _max.value();
int max = -1;
if (max_value != nullptr) {
char* endptr = nullptr;
if (!parse_integer(max_value, &max)) {
`parse_integer` is a template function and it was passed an `int` so it limits
to int values.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/22224#discussion_r1853356424