Mercurial > hg > graal-compiler
comparison src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp @ 1833:8b10f48633dc
6984287: Regularize how GC parallel workers are specified.
Summary: Associate number of GC workers with the workgang as opposed to the task.
Reviewed-by: johnc, ysr
author | jmasa |
---|---|
date | Mon, 20 Sep 2010 14:38:38 -0700 |
parents | c18cbe5936b8 |
children | f95d63e2154a |
comparison
equal
deleted
inserted
replaced
1781:97fbf5beff7b | 1833:8b10f48633dc |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 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 | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
37 initialize_perm_generation(PermGen::ConcurrentMarkSweep); | 37 initialize_perm_generation(PermGen::ConcurrentMarkSweep); |
38 _generations = new GenerationSpecPtr[number_of_generations()]; | 38 _generations = new GenerationSpecPtr[number_of_generations()]; |
39 if (_generations == NULL) | 39 if (_generations == NULL) |
40 vm_exit_during_initialization("Unable to allocate gen spec"); | 40 vm_exit_during_initialization("Unable to allocate gen spec"); |
41 | 41 |
42 if (UseParNewGC && ParallelGCThreads > 0) { | 42 if (ParNewGeneration::in_use()) { |
43 if (UseAdaptiveSizePolicy) { | 43 if (UseAdaptiveSizePolicy) { |
44 _generations[0] = new GenerationSpec(Generation::ASParNew, | 44 _generations[0] = new GenerationSpec(Generation::ASParNew, |
45 _initial_gen0_size, _max_gen0_size); | 45 _initial_gen0_size, _max_gen0_size); |
46 } else { | 46 } else { |
47 _generations[0] = new GenerationSpec(Generation::ParNew, | 47 _generations[0] = new GenerationSpec(Generation::ParNew, |
77 GCTimeRatio); | 77 GCTimeRatio); |
78 } | 78 } |
79 | 79 |
80 void ConcurrentMarkSweepPolicy::initialize_gc_policy_counters() { | 80 void ConcurrentMarkSweepPolicy::initialize_gc_policy_counters() { |
81 // initialize the policy counters - 2 collectors, 3 generations | 81 // initialize the policy counters - 2 collectors, 3 generations |
82 if (UseParNewGC && ParallelGCThreads > 0) { | 82 if (ParNewGeneration::in_use()) { |
83 _gc_policy_counters = new GCPolicyCounters("ParNew:CMS", 2, 3); | 83 _gc_policy_counters = new GCPolicyCounters("ParNew:CMS", 2, 3); |
84 } | 84 } |
85 else { | 85 else { |
86 _gc_policy_counters = new GCPolicyCounters("Copy:CMS", 2, 3); | 86 _gc_policy_counters = new GCPolicyCounters("Copy:CMS", 2, 3); |
87 } | 87 } |
100 | 100 |
101 void ASConcurrentMarkSweepPolicy::initialize_gc_policy_counters() { | 101 void ASConcurrentMarkSweepPolicy::initialize_gc_policy_counters() { |
102 | 102 |
103 assert(size_policy() != NULL, "A size policy is required"); | 103 assert(size_policy() != NULL, "A size policy is required"); |
104 // initialize the policy counters - 2 collectors, 3 generations | 104 // initialize the policy counters - 2 collectors, 3 generations |
105 if (UseParNewGC && ParallelGCThreads > 0) { | 105 if (ParNewGeneration::in_use()) { |
106 _gc_policy_counters = new CMSGCAdaptivePolicyCounters("ParNew:CMS", 2, 3, | 106 _gc_policy_counters = new CMSGCAdaptivePolicyCounters("ParNew:CMS", 2, 3, |
107 size_policy()); | 107 size_policy()); |
108 } | 108 } |
109 else { | 109 else { |
110 _gc_policy_counters = new CMSGCAdaptivePolicyCounters("Copy:CMS", 2, 3, | 110 _gc_policy_counters = new CMSGCAdaptivePolicyCounters("Copy:CMS", 2, 3, |