6817525: turn on method handle functionality by default for JSR 292

After appropriate testing, we need to turn on EnableMethodHandles and EnableInvokeDynamic by default.

Reviewed-by: never, kvn, jrose, phh
This commit is contained in:
Christian Thalinger 2011-03-31 02:31:57 -07:00
parent 79c814c616
commit c9e2dcda4b
29 changed files with 90 additions and 102 deletions

View file

@ -2974,21 +2974,28 @@ jint Arguments::parse(const JavaVMInitArgs* args) {
}
#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;
}
if (EnableMethodHandles && !AnonymousClasses) {
if (!FLAG_IS_DEFAULT(AnonymousClasses)) {
warning("forcing AnonymousClasses true because EnableMethodHandles is 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.");
}
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;
}