From 68ffb0bf12fc8629c9a289af7499a9c8d3295a23 Mon Sep 17 00:00:00 2001 From: Jungwoo Ha Date: Tue, 3 Nov 2015 13:03:04 -0800 Subject: [PATCH] 8141356: Explicitly stop CMS threads during VM termination GenCollectedHeap::stop() is not implemented which is supposed to stop CMS threads during VM termination. Reviewed-by: jmasa, kbarrett --- hotspot/src/share/vm/gc/shared/genCollectedHeap.cpp | 8 ++++++++ hotspot/src/share/vm/gc/shared/genCollectedHeap.hpp | 3 +++ 2 files changed, 11 insertions(+) diff --git a/hotspot/src/share/vm/gc/shared/genCollectedHeap.cpp b/hotspot/src/share/vm/gc/shared/genCollectedHeap.cpp index 5724808b142..bfa47a3734a 100644 --- a/hotspot/src/share/vm/gc/shared/genCollectedHeap.cpp +++ b/hotspot/src/share/vm/gc/shared/genCollectedHeap.cpp @@ -1319,3 +1319,11 @@ jlong GenCollectedHeap::millis_since_last_gc() { } return retVal; } + +void GenCollectedHeap::stop() { +#if INCLUDE_ALL_GCS + if (UseConcMarkSweepGC) { + ConcurrentMarkSweepThread::stop(); + } +#endif +} diff --git a/hotspot/src/share/vm/gc/shared/genCollectedHeap.hpp b/hotspot/src/share/vm/gc/shared/genCollectedHeap.hpp index 954bc8ad281..11114dd38f0 100644 --- a/hotspot/src/share/vm/gc/shared/genCollectedHeap.hpp +++ b/hotspot/src/share/vm/gc/shared/genCollectedHeap.hpp @@ -499,6 +499,9 @@ private: protected: void gc_prologue(bool full); void gc_epilogue(bool full); + +public: + void stop(); }; #endif // SHARE_VM_GC_SHARED_GENCOLLECTEDHEAP_HPP