src/share/vm/runtime/arguments.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/runtime/arguments.cpp	Wed Mar 30 07:00:30 2011
--- new/src/share/vm/runtime/arguments.cpp	Wed Mar 30 07:00:30 2011

*** 2972,2996 **** --- 2972,3003 ---- UseCounterDecay = false; } } #endif // PRODUCT if (EnableInvokeDynamic && !EnableMethodHandles) { ! if (!FLAG_IS_DEFAULT(EnableMethodHandles)) { warning("forcing EnableMethodHandles true because EnableInvokeDynamic is true"); + // Transitional ! if (EnableMethodHandles || AnonymousClasses) { + if (!EnableInvokeDynamic && !FLAG_IS_DEFAULT(EnableInvokeDynamic)) { + warning("EnableMethodHandles and AnonymousClasses are obsolete. Keeping EnableInvokeDynamic disabled."); + } else { + EnableInvokeDynamic = true; + } } EnableMethodHandles = true; + + // JSR 292 is not supported before 1.7 + if (!JDK_Version::is_gte_jdk17x_version()) { + if (EnableInvokeDynamic) { + if (!FLAG_IS_DEFAULT(EnableInvokeDynamic)) { + warning("JSR 292 is not supported before 1.7. Disabling support."); } if (EnableMethodHandles && !AnonymousClasses) { if (!FLAG_IS_DEFAULT(AnonymousClasses)) { warning("forcing AnonymousClasses true because EnableMethodHandles is true"); + EnableInvokeDynamic = false; } AnonymousClasses = true; } if ((EnableMethodHandles || AnonymousClasses) && ScavengeRootsInCode == 0) { + + if (EnableInvokeDynamic && ScavengeRootsInCode == 0) { if (!FLAG_IS_DEFAULT(ScavengeRootsInCode)) { ! warning("forcing ScavengeRootsInCode non-zero because EnableMethodHandles or AnonymousClasses is true"); ! warning("forcing ScavengeRootsInCode non-zero because EnableInvokeDynamic is true"); } ScavengeRootsInCode = 1; } if (!JavaObjectsInPerm && ScavengeRootsInCode == 0) { if (!FLAG_IS_DEFAULT(ScavengeRootsInCode)) {

src/share/vm/runtime/arguments.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File