1.1 --- a/src/share/vm/utilities/globalDefinitions.cpp Thu May 02 17:12:38 2019 +0100 1.2 +++ b/src/share/vm/utilities/globalDefinitions.cpp Fri Jan 18 17:05:41 2019 +0100 1.3 @@ -384,4 +384,67 @@ 1.4 } 1.5 } 1.6 1.7 +#define EXPECT_EQ(expected, actual) \ 1.8 + assert(expected == actual, "Test failed"); 1.9 +#define EXPECT_STREQ(expected, actual) \ 1.10 + assert(strcmp(expected, actual) == 0, "Test failed"); 1.11 + 1.12 +void GlobalDefinitions::test_proper_unit() { 1.13 + EXPECT_EQ(0u, byte_size_in_proper_unit(0u)); 1.14 + EXPECT_STREQ("B", proper_unit_for_byte_size(0u)); 1.15 + 1.16 + EXPECT_EQ(1u, byte_size_in_proper_unit(1u)); 1.17 + EXPECT_STREQ("B", proper_unit_for_byte_size(1u)); 1.18 + 1.19 + EXPECT_EQ(1023u, byte_size_in_proper_unit(K - 1)); 1.20 + EXPECT_STREQ("B", proper_unit_for_byte_size(K - 1)); 1.21 + 1.22 + EXPECT_EQ(1024u, byte_size_in_proper_unit(K)); 1.23 + EXPECT_STREQ("B", proper_unit_for_byte_size(K)); 1.24 + 1.25 + EXPECT_EQ(1025u, byte_size_in_proper_unit(K + 1)); 1.26 + EXPECT_STREQ("B", proper_unit_for_byte_size(K + 1)); 1.27 + 1.28 + EXPECT_EQ(51200u, byte_size_in_proper_unit(50*K)); 1.29 + EXPECT_STREQ("B", proper_unit_for_byte_size(50*K)); 1.30 + 1.31 + EXPECT_EQ(1023u, byte_size_in_proper_unit(M - 1)); 1.32 + EXPECT_STREQ("K", proper_unit_for_byte_size(M - 1)); 1.33 + 1.34 + EXPECT_EQ(1024u, byte_size_in_proper_unit(M)); 1.35 + EXPECT_STREQ("K", proper_unit_for_byte_size(M)); 1.36 + 1.37 + EXPECT_EQ(1024u, byte_size_in_proper_unit(M + 1)); 1.38 + EXPECT_STREQ("K", proper_unit_for_byte_size(M + 1)); 1.39 + 1.40 + EXPECT_EQ(1025u, byte_size_in_proper_unit(M + K)); 1.41 + EXPECT_STREQ("K", proper_unit_for_byte_size(M + K)); 1.42 + 1.43 + EXPECT_EQ(51200u, byte_size_in_proper_unit(50*M)); 1.44 + EXPECT_STREQ("K", proper_unit_for_byte_size(50*M)); 1.45 + 1.46 +#ifdef _LP64 1.47 + EXPECT_EQ(1023u, byte_size_in_proper_unit(G - 1)); 1.48 + EXPECT_STREQ("M", proper_unit_for_byte_size(G - 1)); 1.49 + 1.50 + EXPECT_EQ(1024u, byte_size_in_proper_unit(G)); 1.51 + EXPECT_STREQ("M", proper_unit_for_byte_size(G)); 1.52 + 1.53 + EXPECT_EQ(1024u, byte_size_in_proper_unit(G + 1)); 1.54 + EXPECT_STREQ("M", proper_unit_for_byte_size(G + 1)); 1.55 + 1.56 + EXPECT_EQ(1024u, byte_size_in_proper_unit(G + K)); 1.57 + EXPECT_STREQ("M", proper_unit_for_byte_size(G + K)); 1.58 + 1.59 + EXPECT_EQ(1025u, byte_size_in_proper_unit(G + M)); 1.60 + EXPECT_STREQ("M", proper_unit_for_byte_size(G + M)); 1.61 + 1.62 + EXPECT_EQ(51200u, byte_size_in_proper_unit(50*G)); 1.63 + EXPECT_STREQ("M", proper_unit_for_byte_size(50*G)); 1.64 +#endif 1.65 +} 1.66 + 1.67 +#undef EXPECT_EQ 1.68 +#undef EXPECT_STREQ 1.69 + 1.70 #endif // PRODUCT