945 946 //=========================================================================================================== 947 // Setting int/mixed/comp mode flags 948 949 void Arguments::set_mode_flags(Mode mode) { 950 // Set up default values for all flags. 951 // If you add a flag to any of the branches below, 952 // add a default value for it here. 953 set_java_compiler(false); 954 _mode = mode; 955 956 // Ensure Agent_OnLoad has the correct initial values. 957 // This may not be the final mode; mode may change later in onload phase. 958 PropertyList_unique_add(&_system_properties, "java.vm.info", 959 (char*)Abstract_VM_Version::vm_info_string(), false); 960 961 UseInterpreter = true; 962 UseCompiler = true; 963 UseLoopCounter = true; 964 965 // Default values may be platform/compiler dependent - 966 // use the saved values 967 ClipInlining = Arguments::_ClipInlining; 968 AlwaysCompileLoopMethods = Arguments::_AlwaysCompileLoopMethods; 969 UseOnStackReplacement = Arguments::_UseOnStackReplacement; 970 BackgroundCompilation = Arguments::_BackgroundCompilation; 971 972 // Change from defaults based on mode 973 switch (mode) { 974 default: 975 ShouldNotReachHere(); 976 break; 977 case _int: 978 UseCompiler = false; 979 UseLoopCounter = false; 980 AlwaysCompileLoopMethods = false; 981 UseOnStackReplacement = false; 982 break; 983 case _mixed: 984 // same as default | 945 946 //=========================================================================================================== 947 // Setting int/mixed/comp mode flags 948 949 void Arguments::set_mode_flags(Mode mode) { 950 // Set up default values for all flags. 951 // If you add a flag to any of the branches below, 952 // add a default value for it here. 953 set_java_compiler(false); 954 _mode = mode; 955 956 // Ensure Agent_OnLoad has the correct initial values. 957 // This may not be the final mode; mode may change later in onload phase. 958 PropertyList_unique_add(&_system_properties, "java.vm.info", 959 (char*)Abstract_VM_Version::vm_info_string(), false); 960 961 UseInterpreter = true; 962 UseCompiler = true; 963 UseLoopCounter = true; 964 965 #ifndef ZERO 966 // Turn these off for mixed and comp. Leave them on for Zero. 967 if (FLAG_IS_DEFAULT(UseFastAccessorMethods)) { 968 UseFastAccessorMethods = mode == _int; 969 } 970 if (FLAG_IS_DEFAULT(UseFastEmptyMethods)) { 971 UseFastEmptyMethods = mode == _int; 972 } 973 #endif 974 975 // Default values may be platform/compiler dependent - 976 // use the saved values 977 ClipInlining = Arguments::_ClipInlining; 978 AlwaysCompileLoopMethods = Arguments::_AlwaysCompileLoopMethods; 979 UseOnStackReplacement = Arguments::_UseOnStackReplacement; 980 BackgroundCompilation = Arguments::_BackgroundCompilation; 981 982 // Change from defaults based on mode 983 switch (mode) { 984 default: 985 ShouldNotReachHere(); 986 break; 987 case _int: 988 UseCompiler = false; 989 UseLoopCounter = false; 990 AlwaysCompileLoopMethods = false; 991 UseOnStackReplacement = false; 992 break; 993 case _mixed: 994 // same as default |