comparison src/share/vm/runtime/arguments.cpp @ 989:148e5441d916

6863023: need non-perm oops in code cache for JSR 292 Summary: Make a special root-list for those few nmethods which might contain non-perm oops. Reviewed-by: twisti, kvn, never, jmasa, ysr
author jrose
date Tue, 15 Sep 2009 21:53:47 -0700
parents 82bd76d4d7f2
children 54b3b351d6f9
comparison
equal deleted inserted replaced
987:00977607da34 989:148e5441d916
2637 } 2637 }
2638 #endif // PRODUCT 2638 #endif // PRODUCT
2639 2639
2640 if (EnableInvokeDynamic && !EnableMethodHandles) { 2640 if (EnableInvokeDynamic && !EnableMethodHandles) {
2641 if (!FLAG_IS_DEFAULT(EnableMethodHandles)) { 2641 if (!FLAG_IS_DEFAULT(EnableMethodHandles)) {
2642 warning("forcing EnableMethodHandles true to allow EnableInvokeDynamic"); 2642 warning("forcing EnableMethodHandles true because EnableInvokeDynamic is true");
2643 } 2643 }
2644 EnableMethodHandles = true; 2644 EnableMethodHandles = true;
2645 } 2645 }
2646 if (EnableMethodHandles && !AnonymousClasses) { 2646 if (EnableMethodHandles && !AnonymousClasses) {
2647 if (!FLAG_IS_DEFAULT(AnonymousClasses)) { 2647 if (!FLAG_IS_DEFAULT(AnonymousClasses)) {
2648 warning("forcing AnonymousClasses true to enable EnableMethodHandles"); 2648 warning("forcing AnonymousClasses true because EnableMethodHandles is true");
2649 } 2649 }
2650 AnonymousClasses = true; 2650 AnonymousClasses = true;
2651 }
2652 if ((EnableMethodHandles || AnonymousClasses) && ScavengeRootsInCode == 0) {
2653 if (!FLAG_IS_DEFAULT(ScavengeRootsInCode)) {
2654 warning("forcing ScavengeRootsInCode non-zero because EnableMethodHandles or AnonymousClasses is true");
2655 }
2656 ScavengeRootsInCode = 1;
2651 } 2657 }
2652 2658
2653 if (PrintGCDetails) { 2659 if (PrintGCDetails) {
2654 // Turn on -verbose:gc options as well 2660 // Turn on -verbose:gc options as well
2655 PrintGC = true; 2661 PrintGC = true;