6863023: need non-perm oops in code cache for JSR 292

Make a special root-list for those few nmethods which might contain non-perm oops.

Reviewed-by: twisti, kvn, never, jmasa, ysr
This commit is contained in:
John R Rose 2009-09-15 21:53:47 -07:00
parent 1cf5b7ae11
commit e261aecad8
74 changed files with 979 additions and 279 deletions

View file

@ -2639,16 +2639,22 @@ jint Arguments::parse(const JavaVMInitArgs* args) {
if (EnableInvokeDynamic && !EnableMethodHandles) {
if (!FLAG_IS_DEFAULT(EnableMethodHandles)) {
warning("forcing EnableMethodHandles true to allow EnableInvokeDynamic");
warning("forcing EnableMethodHandles true because EnableInvokeDynamic is true");
}
EnableMethodHandles = true;
}
if (EnableMethodHandles && !AnonymousClasses) {
if (!FLAG_IS_DEFAULT(AnonymousClasses)) {
warning("forcing AnonymousClasses true to enable EnableMethodHandles");
warning("forcing AnonymousClasses true because EnableMethodHandles is true");
}
AnonymousClasses = true;
}
if ((EnableMethodHandles || AnonymousClasses) && ScavengeRootsInCode == 0) {
if (!FLAG_IS_DEFAULT(ScavengeRootsInCode)) {
warning("forcing ScavengeRootsInCode non-zero because EnableMethodHandles or AnonymousClasses is true");
}
ScavengeRootsInCode = 1;
}
if (PrintGCDetails) {
// Turn on -verbose:gc options as well