Mercurial > hg > truffle
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; |