49 _driver(new ZDriver()),
50 _stat(new ZStat()),
51 _runtime_workers() {}
52
53 CollectedHeap::Name ZCollectedHeap::kind() const {
54 return CollectedHeap::Z;
55 }
56
57 const char* ZCollectedHeap::name() const {
58 return ZGCName;
59 }
60
61 jint ZCollectedHeap::initialize() {
62 if (!_heap.is_initialized()) {
63 return JNI_ENOMEM;
64 }
65
66 initialize_reserved_region((HeapWord*)ZAddressReservedStart(),
67 (HeapWord*)ZAddressReservedEnd());
68
69 return JNI_OK;
70 }
71
72 void ZCollectedHeap::initialize_serviceability() {
73 _heap.serviceability_initialize();
74 }
75
76 void ZCollectedHeap::stop() {
77 _director->stop();
78 _driver->stop();
79 _stat->stop();
80 }
81
82 CollectorPolicy* ZCollectedHeap::collector_policy() const {
83 return _collector_policy;
84 }
85
86 SoftRefPolicy* ZCollectedHeap::soft_ref_policy() {
87 return &_soft_ref_policy;
|
49 _driver(new ZDriver()),
50 _stat(new ZStat()),
51 _runtime_workers() {}
52
53 CollectedHeap::Name ZCollectedHeap::kind() const {
54 return CollectedHeap::Z;
55 }
56
57 const char* ZCollectedHeap::name() const {
58 return ZGCName;
59 }
60
61 jint ZCollectedHeap::initialize() {
62 if (!_heap.is_initialized()) {
63 return JNI_ENOMEM;
64 }
65
66 initialize_reserved_region((HeapWord*)ZAddressReservedStart(),
67 (HeapWord*)ZAddressReservedEnd());
68
69 // ZGC fixes up nmethods lazily, so the assumption that nmethods will
70 // look good after GC safepoints, does not hold.
71 Universe::disable_verify_subset(Universe::Verify_CodeCacheOops);
72
73 return JNI_OK;
74 }
75
76 void ZCollectedHeap::initialize_serviceability() {
77 _heap.serviceability_initialize();
78 }
79
80 void ZCollectedHeap::stop() {
81 _director->stop();
82 _driver->stop();
83 _stat->stop();
84 }
85
86 CollectorPolicy* ZCollectedHeap::collector_policy() const {
87 return _collector_policy;
88 }
89
90 SoftRefPolicy* ZCollectedHeap::soft_ref_policy() {
91 return &_soft_ref_policy;
|