23 */
24
25 #include "precompiled.hpp"
26 #include "gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.hpp"
27 #include "gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.hpp"
28 #include "gc_implementation/concurrentMarkSweep/cmsGCAdaptivePolicyCounters.hpp"
29 #include "gc_implementation/parNew/parNewGeneration.hpp"
30 #include "gc_implementation/shared/gcPolicyCounters.hpp"
31 #include "gc_implementation/shared/vmGCOperations.hpp"
32 #include "memory/cardTableRS.hpp"
33 #include "memory/collectorPolicy.hpp"
34 #include "memory/gcLocker.inline.hpp"
35 #include "memory/genCollectedHeap.hpp"
36 #include "memory/generationSpec.hpp"
37 #include "memory/space.hpp"
38 #include "memory/universe.hpp"
39 #include "runtime/arguments.hpp"
40 #include "runtime/globals_extension.hpp"
41 #include "runtime/handles.inline.hpp"
42 #include "runtime/java.hpp"
43 #include "runtime/vmThread.hpp"
44 #ifdef TARGET_OS_FAMILY_linux
45 # include "thread_linux.inline.hpp"
46 #endif
47 #ifdef TARGET_OS_FAMILY_solaris
48 # include "thread_solaris.inline.hpp"
49 #endif
50 #ifdef TARGET_OS_FAMILY_windows
51 # include "thread_windows.inline.hpp"
52 #endif
53 #ifdef TARGET_OS_FAMILY_bsd
54 # include "thread_bsd.inline.hpp"
55 #endif
56
57 //
58 // ConcurrentMarkSweepPolicy methods
59 //
60
61 ConcurrentMarkSweepPolicy::ConcurrentMarkSweepPolicy() {
62 initialize_all();
63 }
64
65 void ConcurrentMarkSweepPolicy::initialize_generations() {
66 _generations = new GenerationSpecPtr[number_of_generations()];
67 if (_generations == NULL)
68 vm_exit_during_initialization("Unable to allocate gen spec");
69
70 if (ParNewGeneration::in_use()) {
71 if (UseAdaptiveSizePolicy) {
72 _generations[0] = new GenerationSpec(Generation::ASParNew,
73 _initial_gen0_size, _max_gen0_size);
74 } else {
75 _generations[0] = new GenerationSpec(Generation::ParNew,
|
23 */
24
25 #include "precompiled.hpp"
26 #include "gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.hpp"
27 #include "gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.hpp"
28 #include "gc_implementation/concurrentMarkSweep/cmsGCAdaptivePolicyCounters.hpp"
29 #include "gc_implementation/parNew/parNewGeneration.hpp"
30 #include "gc_implementation/shared/gcPolicyCounters.hpp"
31 #include "gc_implementation/shared/vmGCOperations.hpp"
32 #include "memory/cardTableRS.hpp"
33 #include "memory/collectorPolicy.hpp"
34 #include "memory/gcLocker.inline.hpp"
35 #include "memory/genCollectedHeap.hpp"
36 #include "memory/generationSpec.hpp"
37 #include "memory/space.hpp"
38 #include "memory/universe.hpp"
39 #include "runtime/arguments.hpp"
40 #include "runtime/globals_extension.hpp"
41 #include "runtime/handles.inline.hpp"
42 #include "runtime/java.hpp"
43 #include "runtime/thread.inline.hpp"
44 #include "runtime/vmThread.hpp"
45
46 //
47 // ConcurrentMarkSweepPolicy methods
48 //
49
50 ConcurrentMarkSweepPolicy::ConcurrentMarkSweepPolicy() {
51 initialize_all();
52 }
53
54 void ConcurrentMarkSweepPolicy::initialize_generations() {
55 _generations = new GenerationSpecPtr[number_of_generations()];
56 if (_generations == NULL)
57 vm_exit_during_initialization("Unable to allocate gen spec");
58
59 if (ParNewGeneration::in_use()) {
60 if (UseAdaptiveSizePolicy) {
61 _generations[0] = new GenerationSpec(Generation::ASParNew,
62 _initial_gen0_size, _max_gen0_size);
63 } else {
64 _generations[0] = new GenerationSpec(Generation::ParNew,
|