--- old/src/share/vm/runtime/arguments.cpp Tue Mar 8 20:18:06 2011 +++ new/src/share/vm/runtime/arguments.cpp Tue Mar 8 20:18:06 2011 @@ -3035,6 +3035,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