< prev index next > src/hotspot/share/gc/shenandoah/mode/shenandoahMode.hpp
Print this page
/*
! * Copyright (c) 2019, Red Hat, Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
/*
! * Copyright (c) 2019, 2021, Red Hat, Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
#ifndef SHARE_GC_SHENANDOAH_MODE_SHENANDOAHMODE_HPP
#define SHARE_GC_SHENANDOAH_MODE_SHENANDOAHMODE_HPP
#include "memory/allocation.hpp"
+ #include "runtime/java.hpp"
+ #include "utilities/formatBuffer.hpp"
+ class ShenandoahGeneration;
class ShenandoahHeuristics;
+ class ShenandoahOldHeuristics;
#define SHENANDOAH_CHECK_FLAG_SET(name) \
do { \
if (!(name)) { \
err_msg message("GC mode needs -XX:+" #name " to work correctly"); \
} while (0)
class ShenandoahMode : public CHeapObj<mtGC> {
public:
virtual void initialize_flags() const = 0;
! virtual ShenandoahHeuristics* initialize_heuristics() const = 0;
virtual const char* name() = 0;
virtual bool is_diagnostic() = 0;
virtual bool is_experimental() = 0;
};
#endif // SHARE_GC_SHENANDOAH_MODE_SHENANDOAHMODE_HPP
} while (0)
class ShenandoahMode : public CHeapObj<mtGC> {
public:
virtual void initialize_flags() const = 0;
! virtual ShenandoahHeuristics* initialize_heuristics(ShenandoahGeneration* generation) const;
virtual const char* name() = 0;
virtual bool is_diagnostic() = 0;
virtual bool is_experimental() = 0;
+ virtual bool is_generational() { return false; }
};
#endif // SHARE_GC_SHENANDOAH_MODE_SHENANDOAHMODE_HPP
< prev index next >