Mercurial > hg > truffle
comparison src/share/vm/runtime/arguments.cpp @ 695:becb17ad5e51
6824570: ParNew: Fix memory leak introduced in 6819891
Summary: Allocate worker-local overflow stacks, introduced in 6819891, along with ParNewGeneration, rather than with the per-scavenge ParScanThreadState.
Reviewed-by: jmasa
author | ysr |
---|---|
date | Thu, 02 Apr 2009 15:57:41 -0700 |
parents | bd441136a5ce |
children | 922aedc96ef5 |
comparison
equal
deleted
inserted
replaced
679:cea947c8a988 | 695:becb17ad5e51 |
---|---|
969 if (!UseParNewGC) { | 969 if (!UseParNewGC) { |
970 FLAG_SET_DEFAULT(ParallelGCThreads, 0); | 970 FLAG_SET_DEFAULT(ParallelGCThreads, 0); |
971 } else { | 971 } else { |
972 no_shared_spaces(); | 972 no_shared_spaces(); |
973 | 973 |
974 // By default YoungPLABSize and OldPLABSize are set to 4096 and 1024 correspondinly, | 974 // By default YoungPLABSize and OldPLABSize are set to 4096 and 1024 respectively, |
975 // these settings are default for Parallel Scavenger. For ParNew+Tenured configuration | 975 // these settings are default for Parallel Scavenger. For ParNew+Tenured configuration |
976 // we set them to 1024 and 1024. | 976 // we set them to 1024 and 1024. |
977 // See CR 6362902. | 977 // See CR 6362902. |
978 if (FLAG_IS_DEFAULT(YoungPLABSize)) { | 978 if (FLAG_IS_DEFAULT(YoungPLABSize)) { |
979 FLAG_SET_DEFAULT(YoungPLABSize, (intx)1024); | 979 FLAG_SET_DEFAULT(YoungPLABSize, (intx)1024); |
985 // AlwaysTenure flag should make ParNew to promote all at first collection. | 985 // AlwaysTenure flag should make ParNew to promote all at first collection. |
986 // See CR 6362902. | 986 // See CR 6362902. |
987 if (AlwaysTenure) { | 987 if (AlwaysTenure) { |
988 FLAG_SET_CMDLINE(intx, MaxTenuringThreshold, 0); | 988 FLAG_SET_CMDLINE(intx, MaxTenuringThreshold, 0); |
989 } | 989 } |
990 // When using compressed oops, we use local overflow stacks, | |
991 // rather than using a global overflow list chained through | |
992 // the klass word of the object's pre-image. | |
993 if (UseCompressedOops && !ParGCUseLocalOverflow) { | |
994 if (!FLAG_IS_DEFAULT(ParGCUseLocalOverflow)) { | |
995 warning("Forcing +ParGCUseLocalOverflow: needed if using compressed references"); | |
996 } | |
997 FLAG_SET_DEFAULT(ParGCUseLocalOverflow, true); | |
998 } | |
999 assert(ParGCUseLocalOverflow || !UseCompressedOops, "Error"); | |
990 } | 1000 } |
991 } | 1001 } |
992 | 1002 |
993 // Adjust some sizes to suit CMS and/or ParNew needs; these work well on | 1003 // Adjust some sizes to suit CMS and/or ParNew needs; these work well on |
994 // sparc/solaris for certain applications, but would gain from | 1004 // sparc/solaris for certain applications, but would gain from |