< 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 >