Print this page


Split Close
Expand all
Collapse all
          --- old/src/share/vm/runtime/arguments.cpp
          +++ new/src/share/vm/runtime/arguments.cpp
↓ open down ↓ 2966 lines elided ↑ open up ↑
2967 2967      TraceBytecodes = true;
2968 2968    }
2969 2969    if (CountCompiledCalls) {
2970 2970      if (UseCounterDecay) {
2971 2971        warning("UseCounterDecay disabled because CountCalls is set");
2972 2972        UseCounterDecay = false;
2973 2973      }
2974 2974    }
2975 2975  #endif // PRODUCT
2976 2976  
2977      -  if (EnableInvokeDynamic && !EnableMethodHandles) {
2978      -    if (!FLAG_IS_DEFAULT(EnableMethodHandles)) {
2979      -      warning("forcing EnableMethodHandles true because EnableInvokeDynamic is true");
     2977 +  // Transitional
     2978 +  if (EnableMethodHandles || AnonymousClasses) {
     2979 +    if (!EnableInvokeDynamic && !FLAG_IS_DEFAULT(EnableInvokeDynamic)) {
     2980 +      warning("EnableMethodHandles and AnonymousClasses are obsolete.  Keeping EnableInvokeDynamic disabled.");
     2981 +    } else {
     2982 +      EnableInvokeDynamic = true;
2980 2983      }
2981      -    EnableMethodHandles = true;
2982 2984    }
2983      -  if (EnableMethodHandles && !AnonymousClasses) {
2984      -    if (!FLAG_IS_DEFAULT(AnonymousClasses)) {
2985      -      warning("forcing AnonymousClasses true because EnableMethodHandles is true");
     2985 +
     2986 +  // JSR 292 is not supported before 1.7
     2987 +  if (!JDK_Version::is_gte_jdk17x_version()) {
     2988 +    if (EnableInvokeDynamic) {
     2989 +      if (!FLAG_IS_DEFAULT(EnableInvokeDynamic)) {
     2990 +        warning("JSR 292 is not supported before 1.7.  Disabling support.");
     2991 +      }
     2992 +      EnableInvokeDynamic = false;
2986 2993      }
2987      -    AnonymousClasses = true;
2988 2994    }
2989      -  if ((EnableMethodHandles || AnonymousClasses) && ScavengeRootsInCode == 0) {
     2995 +
     2996 +  if (EnableInvokeDynamic && ScavengeRootsInCode == 0) {
2990 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 3000      ScavengeRootsInCode = 1;
2994 3001    }
2995 3002    if (!JavaObjectsInPerm && ScavengeRootsInCode == 0) {
2996 3003      if (!FLAG_IS_DEFAULT(ScavengeRootsInCode)) {
2997 3004        warning("forcing ScavengeRootsInCode non-zero because JavaObjectsInPerm is false");
2998 3005      }
2999 3006      ScavengeRootsInCode = 1;
3000 3007    }
3001 3008  
↓ open down ↓ 303 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX