src/share/vm/gc_implementation/g1/g1_globals.hpp

Print this page
rev 5920 : 8035406: Improve data structure for Code Cache remembered sets
Summary: Change the code cache remembered sets data structure from a GrowableArray to a chunked list of nmethods. This makes the data structure more amenable to parallelization, and decreases freeing time.
Reviewed-by:
   1 /*
   2  * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *


 267                                                                             \
 268   experimental(uintx, G1NewSizePercent, 5,                                  \
 269           "Percentage (0-100) of the heap size to use as default "          \
 270           "minimum young gen size.")                                        \
 271                                                                             \
 272   experimental(uintx, G1MaxNewSizePercent, 60,                              \
 273           "Percentage (0-100) of the heap size to use as default "          \
 274           " maximum young gen size.")                                       \
 275                                                                             \
 276   experimental(uintx, G1MixedGCLiveThresholdPercent, 65,                    \
 277           "Threshold for regions to be considered for inclusion in the "    \
 278           "collection set of mixed GCs. "                                   \
 279           "Regions with live bytes exceeding this will not be collected.")  \
 280                                                                             \
 281   product(uintx, G1HeapWastePercent, 10,                                    \
 282           "Amount of space, expressed as a percentage of the heap size, "   \
 283           "that G1 is willing not to collect to avoid expensive GCs.")      \
 284                                                                             \
 285   product(uintx, G1MixedGCCountTarget, 8,                                   \
 286           "The target number of mixed GCs after a marking cycle.")          \




 287                                                                             \
 288   experimental(uintx, G1OldCSetRegionThresholdPercent, 10,                  \
 289           "An upper bound for the number of old CSet regions expressed "    \
 290           "as a percentage of the heap size.")                              \
 291                                                                             \
 292   experimental(ccstr, G1LogLevel, NULL,                                     \
 293           "Log level for G1 logging: fine, finer, finest")                  \
 294                                                                             \
 295   notproduct(bool, G1EvacuationFailureALot, false,                          \
 296           "Force use of evacuation failure handling during certain "        \
 297           "evacuation pauses")                                              \
 298                                                                             \
 299   develop(uintx, G1EvacuationFailureALotCount, 1000,                        \
 300           "Number of successful evacuations between evacuation failures "   \
 301           "occurring at object copying")                                    \
 302                                                                             \
 303   develop(uintx, G1EvacuationFailureALotInterval, 5,                        \
 304           "Total collections between forced triggering of evacuation "      \
 305           "failures")                                                       \
 306                                                                             \


   1 /*
   2  * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *


 267                                                                             \
 268   experimental(uintx, G1NewSizePercent, 5,                                  \
 269           "Percentage (0-100) of the heap size to use as default "          \
 270           "minimum young gen size.")                                        \
 271                                                                             \
 272   experimental(uintx, G1MaxNewSizePercent, 60,                              \
 273           "Percentage (0-100) of the heap size to use as default "          \
 274           " maximum young gen size.")                                       \
 275                                                                             \
 276   experimental(uintx, G1MixedGCLiveThresholdPercent, 65,                    \
 277           "Threshold for regions to be considered for inclusion in the "    \
 278           "collection set of mixed GCs. "                                   \
 279           "Regions with live bytes exceeding this will not be collected.")  \
 280                                                                             \
 281   product(uintx, G1HeapWastePercent, 10,                                    \
 282           "Amount of space, expressed as a percentage of the heap size, "   \
 283           "that G1 is willing not to collect to avoid expensive GCs.")      \
 284                                                                             \
 285   product(uintx, G1MixedGCCountTarget, 8,                                   \
 286           "The target number of mixed GCs after a marking cycle.")          \
 287                                                                             \
 288   experimental(uintx, G1CodeRootsChunkCacheKeepPercent, 10,                 \
 289           "The amount of code root chunks that should be kept at most "     \
 290           "as percentage of already allocated.")                            \
 291                                                                             \
 292   experimental(uintx, G1OldCSetRegionThresholdPercent, 10,                  \
 293           "An upper bound for the number of old CSet regions expressed "    \
 294           "as a percentage of the heap size.")                              \
 295                                                                             \
 296   experimental(ccstr, G1LogLevel, NULL,                                     \
 297           "Log level for G1 logging: fine, finer, finest")                  \
 298                                                                             \
 299   notproduct(bool, G1EvacuationFailureALot, false,                          \
 300           "Force use of evacuation failure handling during certain "        \
 301           "evacuation pauses")                                              \
 302                                                                             \
 303   develop(uintx, G1EvacuationFailureALotCount, 1000,                        \
 304           "Number of successful evacuations between evacuation failures "   \
 305           "occurring at object copying")                                    \
 306                                                                             \
 307   develop(uintx, G1EvacuationFailureALotInterval, 5,                        \
 308           "Total collections between forced triggering of evacuation "      \
 309           "failures")                                                       \
 310                                                                             \