Path: blob/master/runtime/gc_vlhgc/CycleStateVLHGC.hpp
5986 views
/*******************************************************************************1* Copyright (c) 1991, 2021 IBM Corp. and others2*3* This program and the accompanying materials are made available under4* the terms of the Eclipse Public License 2.0 which accompanies this5* distribution and is available at https://www.eclipse.org/legal/epl-2.0/6* or the Apache License, Version 2.0 which accompanies this distribution and7* is available at https://www.apache.org/licenses/LICENSE-2.0.8*9* This Source Code may also be made available under the following10* Secondary Licenses when the conditions for such availability set11* forth in the Eclipse Public License, v. 2.0 are satisfied: GNU12* General Public License, version 2 with the GNU Classpath13* Exception [1] and GNU General Public License, version 2 with the14* OpenJDK Assembly Exception [2].15*16* [1] https://www.gnu.org/software/classpath/license.html17* [2] http://openjdk.java.net/legal/assembly-exception.html18*19* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception20*******************************************************************************/2122#if !defined(CYCLESTATEVLHGC_HPP_)23#define CYCLESTATEVLHGC_HPP_2425#include "CycleState.hpp"2627#include "VLHGCIncrementStats.hpp"28#include "VLHGCCycleStats.hpp"2930class MM_CycleState;31class MM_SchedulingDelegate;3233/**34* Per cycle state information35*/36class MM_CycleStateVLHGC : public MM_CycleState {37public:38MM_VLHGCIncrementStats _vlhgcIncrementStats; /**< Stats for the various phases / operations within an increment */39MM_VLHGCCycleStats _vlhgcCycleStats; /**< Stats for the various phases / operations within a cycle */40MM_SchedulingDelegate *_schedulingDelegate;4142uintptr_t _desiredCompactWork; /**< Stats for desired amount of work to be compacted during a particular PGC cycle */43bool _useSlidingCompactor; /**< Stats to indicate If we surpassed survivor free memory. If so it's set to true, false otherwise */44bool _abortFlagRaisedDuringPGC; /**< Stats that indicate if PGC cycle aborted or not */4546MM_CycleStateVLHGC()47: MM_CycleState()48, _vlhgcIncrementStats()49, _vlhgcCycleStats()50, _schedulingDelegate(NULL)51, _desiredCompactWork(0)52, _useSlidingCompactor(false)53, _abortFlagRaisedDuringPGC(false)54{55}56};5758#endif /* CYCLESTATEVLHGC_HPP_ */596061