Path: blob/aarch64-shenandoah-jdk8u272-b10/hotspot/src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.hpp
38920 views
/*1* Copyright (c) 2003, 2013, 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_IMPLEMENTATION_PARALLELSCAVENGE_ASPSOLDGEN_HPP25#define SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_ASPSOLDGEN_HPP2627#include "gc_implementation/parallelScavenge/objectStartArray.hpp"28#include "gc_implementation/parallelScavenge/psOldGen.hpp"29#include "gc_implementation/parallelScavenge/psVirtualspace.hpp"30#include "gc_implementation/shared/generationCounters.hpp"31#include "gc_implementation/shared/mutableSpace.hpp"32#include "gc_implementation/shared/spaceCounters.hpp"3334class ASPSOldGen : public PSOldGen {35friend class VMStructs;36size_t _gen_size_limit; // Largest size the generation's reserved size37// can grow.38public:39ASPSOldGen(size_t initial_byte_size,40size_t minimum_byte_size,41size_t byte_size_limit,42const char* gen_name, int level);43ASPSOldGen(PSVirtualSpace* vs,44size_t initial_byte_size,45size_t minimum_byte_size,46size_t byte_size_limit,47const char* gen_name, int level);48size_t gen_size_limit() { return _gen_size_limit; }49size_t max_gen_size() { return _reserved.byte_size(); }50void set_gen_size_limit(size_t v) { _gen_size_limit = v; }5152virtual void initialize_work(const char* perf_data_name, int level);5354// After a shrink or expand reset the generation55void reset_after_change();5657// Return number of bytes that the virtual space in the generation is willing58// to expand or contract. The results from these methods should feed into the59// decisions about adjusting the virtual space.60size_t available_for_expansion();61size_t available_for_contraction();6263// Accessors64void set_reserved(MemRegion v) { _reserved = v; }6566// Debugging support67virtual const char* short_name() const { return "ASPSOldGen"; }68};6970#endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_ASPSOLDGEN_HPP717273