Mercurial > hg > truffle
diff 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 |
line wrap: on
line diff
--- a/src/share/vm/runtime/arguments.cpp Tue Sep 15 11:09:34 2009 -0700 +++ b/src/share/vm/runtime/arguments.cpp Tue Sep 15 21:53:47 2009 -0700 @@ -2639,16 +2639,22 @@ 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