925 static void test_new_size() { |
925 static void test_new_size() { |
926 size_t flag_value; |
926 size_t flag_value; |
927 |
927 |
928 save_flags(); |
928 save_flags(); |
929 |
929 |
930 // If NewSize is set on the command line, it should be used |
|
931 // for both min and initial young size if less than min heap. |
|
932 flag_value = 20 * M; |
|
933 set_basic_flag_values(); |
|
934 FLAG_SET_CMDLINE(size_t, NewSize, flag_value); |
|
935 verify_young_min(flag_value); |
|
936 |
|
937 set_basic_flag_values(); |
|
938 FLAG_SET_CMDLINE(size_t, NewSize, flag_value); |
|
939 verify_young_initial(flag_value); |
|
940 |
|
941 // If NewSize is set on command line, but is larger than the min |
|
942 // heap size, it should only be used for initial young size. |
|
943 flag_value = 80 * M; |
|
944 set_basic_flag_values(); |
|
945 FLAG_SET_CMDLINE(size_t, NewSize, flag_value); |
|
946 verify_young_initial(flag_value); |
|
947 |
|
948 // If NewSize has been ergonomically set, the collector policy |
930 // If NewSize has been ergonomically set, the collector policy |
949 // should use it for min but calculate the initial young size |
931 // should use it for min but calculate the initial young size |
950 // using NewRatio. |
932 // using NewRatio. |
951 flag_value = 20 * M; |
933 flag_value = 20 * M; |
952 set_basic_flag_values(); |
934 set_basic_flag_values(); |
954 verify_young_min(flag_value); |
936 verify_young_min(flag_value); |
955 |
937 |
956 set_basic_flag_values(); |
938 set_basic_flag_values(); |
957 FLAG_SET_ERGO(size_t, NewSize, flag_value); |
939 FLAG_SET_ERGO(size_t, NewSize, flag_value); |
958 verify_scaled_young_initial(InitialHeapSize); |
940 verify_scaled_young_initial(InitialHeapSize); |
|
941 |
|
942 // If NewSize is set on the command line, it should be used |
|
943 // for both min and initial young size if less than min heap. |
|
944 // Note that once a flag has been set with FLAG_SET_CMDLINE it |
|
945 // will be treated as it have been set on the command line for |
|
946 // the rest of the VM lifetime. This is an irreversible change. |
|
947 flag_value = 20 * M; |
|
948 set_basic_flag_values(); |
|
949 FLAG_SET_CMDLINE(size_t, NewSize, flag_value); |
|
950 verify_young_min(flag_value); |
|
951 |
|
952 set_basic_flag_values(); |
|
953 FLAG_SET_CMDLINE(size_t, NewSize, flag_value); |
|
954 verify_young_initial(flag_value); |
|
955 |
|
956 // If NewSize is set on command line, but is larger than the min |
|
957 // heap size, it should only be used for initial young size. |
|
958 flag_value = 80 * M; |
|
959 set_basic_flag_values(); |
|
960 FLAG_SET_CMDLINE(size_t, NewSize, flag_value); |
|
961 verify_young_initial(flag_value); |
959 |
962 |
960 restore_flags(); |
963 restore_flags(); |
961 } |
964 } |
962 |
965 |
963 static void test_old_size() { |
966 static void test_old_size() { |