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
54 //
55 // ConcurrentMarkSweepPolicy methods
56 //
57
58 ConcurrentMarkSweepPolicy::ConcurrentMarkSweepPolicy() {
59 initialize_all();
60 }
61
62 void ConcurrentMarkSweepPolicy::initialize_generations() {
63 initialize_perm_generation(PermGen::ConcurrentMarkSweep);
64 _generations = new GenerationSpecPtr[number_of_generations()];
65 if (_generations == NULL)
66 vm_exit_during_initialization("Unable to allocate gen spec");
67
68 if (ParNewGeneration::in_use()) {
69 if (UseAdaptiveSizePolicy) {
70 _generations[0] = new GenerationSpec(Generation::ASParNew,
71 _initial_gen0_size, _max_gen0_size);
72 } else {
|
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 initialize_perm_generation(PermGen::ConcurrentMarkSweep);
67 _generations = new GenerationSpecPtr[number_of_generations()];
68 if (_generations == NULL)
69 vm_exit_during_initialization("Unable to allocate gen spec");
70
71 if (ParNewGeneration::in_use()) {
72 if (UseAdaptiveSizePolicy) {
73 _generations[0] = new GenerationSpec(Generation::ASParNew,
74 _initial_gen0_size, _max_gen0_size);
75 } else {
|