< prev index next >
src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahStaticHeuristics.cpp
Print this page
rev 10690 : [backport] Cleanup header files and forward declarations
rev 10757 : [backport] Concurrent cycle by default on any external GC request
rev 10772 : [backport] Update copyrights
rev 10775 : [backport] Use ShenandoahAllocationThreshold in ShenandoahStaticHeuristics constructor
rev 10796 : [backport] Fail early when critical barriers are disabled
*** 1,7 ****
/*
! * Copyright (c) 2018, Red Hat, Inc. and/or its affiliates.
*
* 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.
*
--- 1,7 ----
/*
! * Copyright (c) 2018, Red Hat, Inc. All rights reserved.
*
* 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.
*
*** 20,40 ****
* questions.
*
*/
#include "precompiled.hpp"
#include "gc_implementation/shenandoah/heuristics/shenandoahStaticHeuristics.hpp"
#include "gc_implementation/shenandoah/shenandoahCollectionSet.hpp"
#include "gc_implementation/shenandoah/shenandoahFreeSet.hpp"
#include "gc_implementation/shenandoah/shenandoahHeapRegion.hpp"
#include "gc_implementation/shenandoah/shenandoahLogging.hpp"
ShenandoahStaticHeuristics::ShenandoahStaticHeuristics() : ShenandoahHeuristics() {
// Static heuristics may degrade to continuous if live data is larger
// than free threshold. ShenandoahAllocationThreshold is supposed to break this,
// but it only works if it is non-zero.
! SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahImmediateThreshold, 1);
}
ShenandoahStaticHeuristics::~ShenandoahStaticHeuristics() {}
bool ShenandoahStaticHeuristics::should_start_normal_gc() const {
--- 20,52 ----
* questions.
*
*/
#include "precompiled.hpp"
+
#include "gc_implementation/shenandoah/heuristics/shenandoahStaticHeuristics.hpp"
#include "gc_implementation/shenandoah/shenandoahCollectionSet.hpp"
#include "gc_implementation/shenandoah/shenandoahFreeSet.hpp"
#include "gc_implementation/shenandoah/shenandoahHeapRegion.hpp"
#include "gc_implementation/shenandoah/shenandoahLogging.hpp"
ShenandoahStaticHeuristics::ShenandoahStaticHeuristics() : ShenandoahHeuristics() {
// Static heuristics may degrade to continuous if live data is larger
// than free threshold. ShenandoahAllocationThreshold is supposed to break this,
// but it only works if it is non-zero.
! SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahAllocationThreshold, 1);
!
! SHENANDOAH_ERGO_ENABLE_FLAG(ExplicitGCInvokesConcurrent);
! SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahImplicitGCInvokesConcurrent);
!
! // Final configuration checks
! SHENANDOAH_CHECK_FLAG_SET(ShenandoahSATBBarrier);
! SHENANDOAH_CHECK_FLAG_SET(ShenandoahReadBarrier);
! SHENANDOAH_CHECK_FLAG_SET(ShenandoahWriteBarrier);
! SHENANDOAH_CHECK_FLAG_SET(ShenandoahCASBarrier);
! SHENANDOAH_CHECK_FLAG_SET(ShenandoahAcmpBarrier);
! SHENANDOAH_CHECK_FLAG_SET(ShenandoahCloneBarrier);
}
ShenandoahStaticHeuristics::~ShenandoahStaticHeuristics() {}
bool ShenandoahStaticHeuristics::should_start_normal_gc() const {
< prev index next >