in application/org.openjdk.jmc.joverflow/src/main/java/org/openjdk/jmc/joverflow/stats/DataFieldStats.java [211:252]
private byte getNumUnusedBytes(JavaValue value) {
if (value instanceof JavaInt) {
JavaInt intValue = (JavaInt) value;
int val = intValue.getValue();
if (val >= Byte.MIN_VALUE && val <= Byte.MAX_VALUE) {
return 3;
} else if (val >= Short.MIN_VALUE && val <= Short.MAX_VALUE) {
return 2;
} else {
return 0;
}
} else if (value instanceof JavaChar) {
JavaChar charValue = (JavaChar) value;
char val = charValue.getValue();
if (val <= 0xFF) {
return 1;
} else {
return 0;
}
} else if (value instanceof JavaShort) {
JavaShort shortValue = (JavaShort) value;
short val = shortValue.getValue();
if (val >= Byte.MIN_VALUE && val <= Byte.MAX_VALUE) {
return 1;
} else {
return 0;
}
} else if (value instanceof JavaLong) {
JavaLong longValue = (JavaLong) value;
long val = longValue.getValue();
if (val >= Byte.MIN_VALUE && val <= Byte.MAX_VALUE) {
return 7;
} else if (val >= Short.MIN_VALUE && val <= Short.MAX_VALUE) {
return 6;
} else if (val >= Integer.MIN_VALUE && val <= Integer.MAX_VALUE) {
return 4;
} else {
return 0;
}
}
return 0;
}