changeset 57410:bf401fb26e1b

8235759: Extend GCConfig::is_gc_supported to mean supported not only included in build Reviewed-by: pliden
author stefank
date Wed, 11 Dec 2019 12:29:49 +0100
parents a67d541d3b07
children 9ba00b589d9c
files src/hotspot/share/gc/shared/gcArguments.hpp src/hotspot/share/gc/shared/gcConfig.cpp
diffstat 2 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/hotspot/share/gc/shared/gcArguments.hpp	Wed Dec 11 12:29:43 2019 +0100
+++ b/src/hotspot/share/gc/shared/gcArguments.hpp	Wed Dec 11 12:29:49 2019 +0100
@@ -48,6 +48,11 @@
   virtual size_t conservative_max_heap_alignment() = 0;
   virtual CollectedHeap* create_heap() = 0;
 
+  // Allows GCs to tell external code if it's supported or not in the current setup.
+  virtual bool is_supported() const {
+    return true;
+  }
+
   void initialize_heap_sizes();
 
   static size_t compute_heap_alignment();
--- a/src/hotspot/share/gc/shared/gcConfig.cpp	Wed Dec 11 12:29:43 2019 +0100
+++ b/src/hotspot/share/gc/shared/gcConfig.cpp	Wed Dec 11 12:29:49 2019 +0100
@@ -186,7 +186,7 @@
 
 bool GCConfig::is_gc_supported(CollectedHeap::Name name) {
   FOR_EACH_INCLUDED_GC(gc) {
-    if (gc->_name == name) {
+    if (gc->_name == name && gc->_arguments.is_supported()) {
       // Supported
       return true;
     }