Path: blob/aarch64-shenandoah-jdk8u272-b10/hotspot/src/share/vm/gc_implementation/shared/gcConfiguration.hpp
38920 views
/*1* Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation.7*8* This code is distributed in the hope that it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11* version 2 for more details (a copy is included in the LICENSE file that12* accompanied this code).13*14* You should have received a copy of the GNU General Public License version15* 2 along with this work; if not, write to the Free Software Foundation,16* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17*18* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19* or visit www.oracle.com if you need additional information or have any20* questions.21*22*/2324#ifndef SHARE_VM_GC_SHARED_GCCONFIGURATION_HPP25#define SHARE_VM_GC_SHARED_GCCONFIGURATION_HPP2627#include "gc_interface/gcName.hpp"28#include "memory/universe.hpp"29#include "utilities/globalDefinitions.hpp"3031class GCConfiguration {32public:33GCName young_collector() const;34GCName old_collector() const;35uint num_parallel_gc_threads() const;36uint num_concurrent_gc_threads() const;37bool uses_dynamic_gc_threads() const;38bool is_explicit_gc_concurrent() const;39bool is_explicit_gc_disabled() const;40uintx gc_time_ratio() const;4142bool has_pause_target_default_value() const;43uintx pause_target() const;44};4546class GCTLABConfiguration {47public:48bool uses_tlabs() const;49size_t min_tlab_size() const;50uint tlab_refill_waste_limit() const;51};5253class GCSurvivorConfiguration {54public:55intx initial_tenuring_threshold() const;56intx max_tenuring_threshold() const;57};5859class GCHeapConfiguration {60public:61size_t max_size() const;62size_t min_size() const;63size_t initial_size() const;64bool uses_compressed_oops() const;65Universe::NARROW_OOP_MODE narrow_oop_mode() const;66uint object_alignment_in_bytes() const;67int heap_address_size_in_bits() const;68};6970class GCYoungGenerationConfiguration {71public:72bool has_max_size_default_value() const;73uintx max_size() const;7475uintx min_size() const;76intx new_ratio() const;77};7879#endif // SHARE_VM_GC_SHARED_GCCONFIGURATION_HPP808182