--- old/src/share/vm/runtime/arguments.cpp Fri Mar 18 14:59:36 2011 +++ new/src/share/vm/runtime/arguments.cpp Fri Mar 18 14:59:36 2011 @@ -2976,6 +2976,12 @@ } ScavengeRootsInCode = 1; } + if (!JavaObjectsInPerm && ScavengeRootsInCode == 0) { + if (!FLAG_IS_DEFAULT(ScavengeRootsInCode)) { + warning("forcing ScavengeRootsInCode non-zero because JavaObjectsInPerm is false"); + } + ScavengeRootsInCode = 1; + } if (PrintGCDetails) { // Turn on -verbose:gc options as well