diff --git a/src/jdk.jfr/share/classes/jdk/jfr/internal/Utils.java b/src/jdk.jfr/share/classes/jdk/jfr/internal/Utils.java index 18d37f3281b..93946e3230d 100644 --- a/src/jdk.jfr/share/classes/jdk/jfr/internal/Utils.java +++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/Utils.java @@ -121,11 +121,13 @@ public final class Utils { } } - // handle Long.MIN_VALUE as a special case since its absolute value is negative private static String formatDataAmount(String formatter, long amount) { - int exp = (amount == Long.MIN_VALUE) ? 6 : (int) (Math.log(Math.abs(amount)) / Math.log(1024)); - char unitPrefix = "kMGTPE".charAt(exp - 1); - return String.format(formatter, amount / Math.pow(1024, exp), unitPrefix); + if (amount == Long.MIN_VALUE) { + return "N/A"; + } + int exp = (int) (Math.log(Math.abs(amount)) / Math.log(1024)); + char unit = "kMGTPE".charAt(exp - 1); + return String.format(formatter, amount / Math.pow(1024, exp), unit); } public static String formatBytesCompact(long bytes) { diff --git a/src/jdk.jfr/share/classes/jdk/jfr/internal/util/ValueFormatter.java b/src/jdk.jfr/share/classes/jdk/jfr/internal/util/ValueFormatter.java index 64474a01108..8265a74fec4 100644 --- a/src/jdk.jfr/share/classes/jdk/jfr/internal/util/ValueFormatter.java +++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/util/ValueFormatter.java @@ -146,11 +146,13 @@ public final class ValueFormatter { return name; } - // handle Long.MIN_VALUE as a special case since its absolute value is negative private static String formatDataAmount(String formatter, long amount) { - int exp = (amount == Long.MIN_VALUE) ? 6 : (int) (Math.log(Math.abs(amount)) / Math.log(1024)); - char unitPrefix = "kMGTPE".charAt(exp - 1); - return String.format(formatter, amount / Math.pow(1024, exp), unitPrefix); + if (amount == Long.MIN_VALUE) { + return "N/A"; + } + int exp = (int) (Math.log(Math.abs(amount)) / Math.log(1024)); + char unit = "kMGTPE".charAt(exp - 1); + return String.format(formatter, amount / Math.pow(1024, exp), unit); } public static String formatBytesCompact(long bytes) {