2958 if (!FLAG_IS_DEFAULT(ScavengeRootsInCode)) { 2959 warning("forcing ScavengeRootsInCode non-zero because EnableMethodHandles or AnonymousClasses is true"); 2960 } 2961 ScavengeRootsInCode = 1; 2962 } 2963 #ifdef COMPILER2 2964 if (EnableInvokeDynamic && DoEscapeAnalysis) { 2965 // TODO: We need to find rules for invokedynamic and EA. For now, 2966 // simply disable EA by default. 2967 if (FLAG_IS_DEFAULT(DoEscapeAnalysis)) { 2968 DoEscapeAnalysis = false; 2969 } 2970 } 2971 #endif 2972 2973 if (PrintGCDetails) { 2974 // Turn on -verbose:gc options as well 2975 PrintGC = true; 2976 } 2977 2978 #if defined(_LP64) && defined(COMPILER1) && !defined(TIERED) 2979 UseCompressedOops = false; 2980 #endif 2981 2982 #if defined(_LP64) 2983 if ((DumpSharedSpaces || RequireSharedSpaces) && UseCompressedOops) { 2984 // Disable compressed oops with shared spaces 2985 UseCompressedOops = false; 2986 } 2987 #endif 2988 2989 // Set object alignment values. 2990 set_object_alignment(); 2991 2992 #ifdef SERIALGC 2993 force_serial_gc(); 2994 #endif // SERIALGC 2995 #ifdef KERNEL 2996 no_shared_spaces(); 2997 #endif // KERNEL 2998 2999 // Set flags based on ergonomics. 3000 set_ergonomics_flags(); 3001 3002 #ifdef _LP64 3003 // XXX JSR 292 currently does not support compressed oops. 3004 if (EnableMethodHandles && UseCompressedOops) { 3005 if (FLAG_IS_DEFAULT(UseCompressedOops) || FLAG_IS_ERGO(UseCompressedOops)) { 3006 UseCompressedOops = false; 3007 } 3008 } 3009 #endif // _LP64 3010 3011 // Check the GC selections again. 3012 if (!check_gc_consistency()) { 3013 return JNI_EINVAL; 3014 } 3015 3016 if (TieredCompilation) { 3017 set_tiered_flags(); 3018 } else { 3019 // Check if the policy is valid. Policies 0 and 1 are valid for non-tiered setup. 3020 if (CompilationPolicyChoice >= 2) { 3021 vm_exit_during_initialization( 3022 "Incompatible compilation policy selected", NULL); 3023 } 3024 } 3025 3026 #ifndef KERNEL 3027 if (UseConcMarkSweepGC) { | 2958 if (!FLAG_IS_DEFAULT(ScavengeRootsInCode)) { 2959 warning("forcing ScavengeRootsInCode non-zero because EnableMethodHandles or AnonymousClasses is true"); 2960 } 2961 ScavengeRootsInCode = 1; 2962 } 2963 #ifdef COMPILER2 2964 if (EnableInvokeDynamic && DoEscapeAnalysis) { 2965 // TODO: We need to find rules for invokedynamic and EA. For now, 2966 // simply disable EA by default. 2967 if (FLAG_IS_DEFAULT(DoEscapeAnalysis)) { 2968 DoEscapeAnalysis = false; 2969 } 2970 } 2971 #endif 2972 2973 if (PrintGCDetails) { 2974 // Turn on -verbose:gc options as well 2975 PrintGC = true; 2976 } 2977 2978 // Set object alignment values. 2979 set_object_alignment(); 2980 2981 #ifdef SERIALGC 2982 force_serial_gc(); 2983 #endif // SERIALGC 2984 #ifdef KERNEL 2985 no_shared_spaces(); 2986 #endif // KERNEL 2987 2988 // Set flags based on ergonomics. 2989 set_ergonomics_flags(); 2990 2991 #ifdef _LP64 2992 // XXX JSR 292 currently does not support compressed oops. 2993 if (EnableMethodHandles && UseCompressedOops) { 2994 if (FLAG_IS_DEFAULT(UseCompressedOops) || FLAG_IS_ERGO(UseCompressedOops)) { 2995 FLAG_SET_DEFAULT(UseCompressedOops, false); 2996 } 2997 } 2998 2999 # if defined(COMPILER1) && !defined(TIERED) 3000 FLAG_SET_DEFAULT(UseCompressedOops, false); 3001 # endif 3002 3003 if (UseCompressedOops && (DumpSharedSpaces || RequireSharedSpaces)) { 3004 // Disable compressed oops with shared spaces when dumping and or if spaces are explicitly on 3005 FLAG_SET_DEFAULT(UseCompressedOops, false); 3006 } 3007 if (UseCompressedOops && UseSharedSpaces) { 3008 FLAG_SET_DEFAULT(UseSharedSpaces, false); // Otherwise, disable the use of CDS, leave COOPS on. 3009 } 3010 #endif // _LP64 3011 3012 // Check the GC selections again. 3013 if (!check_gc_consistency()) { 3014 return JNI_EINVAL; 3015 } 3016 3017 if (TieredCompilation) { 3018 set_tiered_flags(); 3019 } else { 3020 // Check if the policy is valid. Policies 0 and 1 are valid for non-tiered setup. 3021 if (CompilationPolicyChoice >= 2) { 3022 vm_exit_during_initialization( 3023 "Incompatible compilation policy selected", NULL); 3024 } 3025 } 3026 3027 #ifndef KERNEL 3028 if (UseConcMarkSweepGC) { |