< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2018, 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. --- 1,7 ---- /* ! * Copyright (c) 2018, 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.
*** 25,35 **** #include "precompiled.hpp" #include "gc/shared/gcArguments.inline.hpp" #include "gc/shared/workerPolicy.hpp" #include "gc/shenandoah/shenandoahArguments.hpp" #include "gc/shenandoah/shenandoahCollectorPolicy.hpp" ! #include "gc/shenandoah/shenandoahHeap.hpp" #include "gc/shenandoah/shenandoahHeapRegion.hpp" #include "gc/shenandoah/shenandoahTaskqueue.hpp" #include "utilities/defaultStream.hpp" void ShenandoahArguments::initialize() { --- 25,35 ---- #include "precompiled.hpp" #include "gc/shared/gcArguments.inline.hpp" #include "gc/shared/workerPolicy.hpp" #include "gc/shenandoah/shenandoahArguments.hpp" #include "gc/shenandoah/shenandoahCollectorPolicy.hpp" ! #include "gc/shenandoah/shenandoahHeap.inline.hpp" #include "gc/shenandoah/shenandoahHeapRegion.hpp" #include "gc/shenandoah/shenandoahTaskqueue.hpp" #include "utilities/defaultStream.hpp" void ShenandoahArguments::initialize() {
*** 44,59 **** FLAG_SET_DEFAULT(ShenandoahGCHeuristics, "passive"); FLAG_SET_DEFAULT(ShenandoahSATBBarrier, false); FLAG_SET_DEFAULT(ShenandoahKeepAliveBarrier, false); - FLAG_SET_DEFAULT(ShenandoahWriteBarrier, false); - FLAG_SET_DEFAULT(ShenandoahReadBarrier, false); FLAG_SET_DEFAULT(ShenandoahStoreValEnqueueBarrier, false); - FLAG_SET_DEFAULT(ShenandoahStoreValReadBarrier, false); FLAG_SET_DEFAULT(ShenandoahCASBarrier, false); - FLAG_SET_DEFAULT(ShenandoahAcmpBarrier, false); FLAG_SET_DEFAULT(ShenandoahCloneBarrier, false); #endif #ifdef _LP64 // The optimized ObjArrayChunkedTask takes some bits away from the full 64 addressable --- 44,55 ----
*** 109,124 **** #ifdef ASSERT // C2 barrier verification is only reliable when all default barriers are enabled if (ShenandoahVerifyOptoBarriers && (!FLAG_IS_DEFAULT(ShenandoahSATBBarrier) || !FLAG_IS_DEFAULT(ShenandoahKeepAliveBarrier) || - !FLAG_IS_DEFAULT(ShenandoahWriteBarrier) || - !FLAG_IS_DEFAULT(ShenandoahReadBarrier) || !FLAG_IS_DEFAULT(ShenandoahStoreValEnqueueBarrier) || - !FLAG_IS_DEFAULT(ShenandoahStoreValReadBarrier) || !FLAG_IS_DEFAULT(ShenandoahCASBarrier) || - !FLAG_IS_DEFAULT(ShenandoahAcmpBarrier) || !FLAG_IS_DEFAULT(ShenandoahCloneBarrier) )) { warning("Unusual barrier configuration, disabling C2 barrier verification"); FLAG_SET_DEFAULT(ShenandoahVerifyOptoBarriers, false); } --- 105,116 ----
*** 133,154 **** // a chance to do it on its own. FLAG_SET_DEFAULT(AlwaysPreTouch, false); FLAG_SET_DEFAULT(ShenandoahAlwaysPreTouch, true); } - // Shenandoah C2 optimizations apparently dislike the shape of thread-local handshakes. - // Disable it by default, unless we enable it specifically for debugging. - if (FLAG_IS_DEFAULT(ThreadLocalHandshakes)) { - if (ThreadLocalHandshakes) { - FLAG_SET_DEFAULT(ThreadLocalHandshakes, false); - } - } else { - if (ThreadLocalHandshakes) { - warning("Thread-local handshakes are not working correctly with Shenandoah at the moment. Enable at your own risk."); - } - } - // Record more information about previous cycles for improved debugging pleasure if (FLAG_IS_DEFAULT(LogEventsBufferEntries)) { FLAG_SET_DEFAULT(LogEventsBufferEntries, 250); } --- 125,134 ----
*** 174,190 **** warning("Shenandoah does not support AOT at this moment, disabling UseAOT"); } FLAG_SET_DEFAULT(UseAOT, false); } - // JNI fast get field stuff is not currently supported by Shenandoah. - // It would introduce another heap memory access for reading the forwarding - // pointer, which would have to be guarded by the signal handler machinery. - // See: - // http://mail.openjdk.java.net/pipermail/hotspot-dev/2018-June/032763.html - FLAG_SET_DEFAULT(UseFastJNIAccessors, false); - // TLAB sizing policy makes resizing decisions before each GC cycle. It averages // historical data, assigning more recent data the weight according to TLABAllocationWeight. // Current default is good for generational collectors that run frequent young GCs. // With Shenandoah, GC cycles are much less frequent, so we need we need sizing policy // to converge faster over smaller number of resizing decisions. --- 154,163 ----
< prev index next >