src/hotspot/share/gc/shared/gcArguments.hpp
changeset 49629 b786280276dc
parent 49602 db050c11c3b5
child 53116 bb03098c4dde
equal deleted inserted replaced
49628:88478047bc8f 49629:b786280276dc
    28 
    28 
    29 #include "memory/allocation.hpp"
    29 #include "memory/allocation.hpp"
    30 
    30 
    31 class CollectedHeap;
    31 class CollectedHeap;
    32 
    32 
    33 class GCArguments : public CHeapObj<mtGC> {
    33 class GCArguments {
    34 private:
       
    35   static GCArguments* _instance;
       
    36 
       
    37   static void select_gc();
       
    38   static void select_gc_ergonomically();
       
    39   static bool gc_selected();
       
    40 
       
    41 protected:
    34 protected:
    42   template <class Heap, class Policy>
    35   template <class Heap, class Policy>
    43   CollectedHeap* create_heap_with_policy();
    36   CollectedHeap* create_heap_with_policy();
    44 
    37 
    45 public:
    38 public:
    46   static jint initialize();
    39   virtual void initialize();
    47   static bool is_initialized();
       
    48   static GCArguments* arguments();
       
    49 
       
    50   virtual void initialize_flags();
       
    51 
       
    52   virtual size_t conservative_max_heap_alignment() = 0;
    40   virtual size_t conservative_max_heap_alignment() = 0;
    53 
       
    54   virtual CollectedHeap* create_heap() = 0;
    41   virtual CollectedHeap* create_heap() = 0;
    55 };
    42 };
    56 
    43 
    57 #endif // SHARE_GC_SHARED_GCARGUMENTS_HPP
    44 #endif // SHARE_GC_SHARED_GCARGUMENTS_HPP