annotate src/hotspot/share/gc/shared/gcArguments.hpp @ 50097:db050c11c3b5

8199850: Move parsing of VerifyGCType to G1 Reviewed-by: sjohanss, tschatzl
author pliden
date Mon, 26 Mar 2018 12:44:39 +0200
parents 34fe70d22e9c
children b786280276dc
rev   line source
rkennke@48089 1 /*
pliden@50097 2 * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
rkennke@48089 3 * Copyright (c) 2017, Red Hat, Inc. and/or its affiliates.
rkennke@48089 4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
rkennke@48089 5 *
rkennke@48089 6 * This code is free software; you can redistribute it and/or modify it
rkennke@48089 7 * under the terms of the GNU General Public License version 2 only, as
rkennke@48089 8 * published by the Free Software Foundation.
rkennke@48089 9 *
rkennke@48089 10 * This code is distributed in the hope that it will be useful, but WITHOUT
rkennke@48089 11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
rkennke@48089 12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
rkennke@48089 13 * version 2 for more details (a copy is included in the LICENSE file that
rkennke@48089 14 * accompanied this code).
rkennke@48089 15 *
rkennke@48089 16 * You should have received a copy of the GNU General Public License version
rkennke@48089 17 * 2 along with this work; if not, write to the Free Software Foundation,
rkennke@48089 18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
rkennke@48089 19 *
rkennke@48089 20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
rkennke@48089 21 * or visit www.oracle.com if you need additional information or have any
rkennke@48089 22 * questions.
rkennke@48089 23 *
rkennke@48089 24 */
rkennke@48089 25
rkennke@48089 26 #ifndef SHARE_GC_SHARED_GCARGUMENTS_HPP
rkennke@48089 27 #define SHARE_GC_SHARED_GCARGUMENTS_HPP
rkennke@48089 28
rkennke@48089 29 #include "memory/allocation.hpp"
rkennke@48089 30
rkennke@48101 31 class CollectedHeap;
rkennke@48101 32
rkennke@48089 33 class GCArguments : public CHeapObj<mtGC> {
rkennke@48089 34 private:
rkennke@48089 35 static GCArguments* _instance;
rkennke@48089 36
rkennke@48089 37 static void select_gc();
rkennke@48089 38 static void select_gc_ergonomically();
rkennke@48089 39 static bool gc_selected();
rkennke@48089 40
rkennke@48101 41 protected:
rkennke@48101 42 template <class Heap, class Policy>
rkennke@48101 43 CollectedHeap* create_heap_with_policy();
rkennke@48101 44
rkennke@48089 45 public:
rkennke@48089 46 static jint initialize();
rkennke@48089 47 static bool is_initialized();
rkennke@48089 48 static GCArguments* arguments();
rkennke@48089 49
rkennke@48089 50 virtual void initialize_flags();
rkennke@48089 51
rkennke@48089 52 virtual size_t conservative_max_heap_alignment() = 0;
rkennke@48101 53
rkennke@48101 54 virtual CollectedHeap* create_heap() = 0;
rkennke@48089 55 };
rkennke@48089 56
rkennke@48089 57 #endif // SHARE_GC_SHARED_GCARGUMENTS_HPP