2972 UseCounterDecay = false; |
2972 UseCounterDecay = false; |
2973 } |
2973 } |
2974 } |
2974 } |
2975 #endif // PRODUCT |
2975 #endif // PRODUCT |
2976 |
2976 |
2977 if (EnableInvokeDynamic && !EnableMethodHandles) { |
2977 // Transitional |
2978 if (!FLAG_IS_DEFAULT(EnableMethodHandles)) { |
2978 if (EnableMethodHandles || AnonymousClasses) { |
2979 warning("forcing EnableMethodHandles true because EnableInvokeDynamic is true"); |
2979 if (!EnableInvokeDynamic && !FLAG_IS_DEFAULT(EnableInvokeDynamic)) { |
2980 } |
2980 warning("EnableMethodHandles and AnonymousClasses are obsolete. Keeping EnableInvokeDynamic disabled."); |
2981 EnableMethodHandles = true; |
2981 } else { |
2982 } |
2982 EnableInvokeDynamic = true; |
2983 if (EnableMethodHandles && !AnonymousClasses) { |
2983 } |
2984 if (!FLAG_IS_DEFAULT(AnonymousClasses)) { |
2984 } |
2985 warning("forcing AnonymousClasses true because EnableMethodHandles is true"); |
2985 |
2986 } |
2986 // JSR 292 is not supported before 1.7 |
2987 AnonymousClasses = true; |
2987 if (!JDK_Version::is_gte_jdk17x_version()) { |
2988 } |
2988 if (EnableInvokeDynamic) { |
2989 if ((EnableMethodHandles || AnonymousClasses) && ScavengeRootsInCode == 0) { |
2989 if (!FLAG_IS_DEFAULT(EnableInvokeDynamic)) { |
|
2990 warning("JSR 292 is not supported before 1.7. Disabling support."); |
|
2991 } |
|
2992 EnableInvokeDynamic = false; |
|
2993 } |
|
2994 } |
|
2995 |
|
2996 if (EnableInvokeDynamic && ScavengeRootsInCode == 0) { |
2990 if (!FLAG_IS_DEFAULT(ScavengeRootsInCode)) { |
2997 if (!FLAG_IS_DEFAULT(ScavengeRootsInCode)) { |
2991 warning("forcing ScavengeRootsInCode non-zero because EnableMethodHandles or AnonymousClasses is true"); |
2998 warning("forcing ScavengeRootsInCode non-zero because EnableInvokeDynamic is true"); |
2992 } |
2999 } |
2993 ScavengeRootsInCode = 1; |
3000 ScavengeRootsInCode = 1; |
2994 } |
3001 } |
2995 if (!JavaObjectsInPerm && ScavengeRootsInCode == 0) { |
3002 if (!JavaObjectsInPerm && ScavengeRootsInCode == 0) { |
2996 if (!FLAG_IS_DEFAULT(ScavengeRootsInCode)) { |
3003 if (!FLAG_IS_DEFAULT(ScavengeRootsInCode)) { |