mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-19 18:44:38 +02:00
8226757: Shenandoah: Make traversal and passive modes explicit
Reviewed-by: shade
This commit is contained in:
parent
ba3ba19536
commit
d4afa4e1c8
58 changed files with 588 additions and 326 deletions
|
@ -35,18 +35,7 @@ ShenandoahAdaptiveHeuristics::ShenandoahAdaptiveHeuristics() :
|
||||||
ShenandoahHeuristics(),
|
ShenandoahHeuristics(),
|
||||||
_cycle_gap_history(new TruncatedSeq(5)),
|
_cycle_gap_history(new TruncatedSeq(5)),
|
||||||
_conc_mark_duration_history(new TruncatedSeq(5)),
|
_conc_mark_duration_history(new TruncatedSeq(5)),
|
||||||
_conc_uprefs_duration_history(new TruncatedSeq(5)) {
|
_conc_uprefs_duration_history(new TruncatedSeq(5)) {}
|
||||||
|
|
||||||
SHENANDOAH_ERGO_ENABLE_FLAG(ExplicitGCInvokesConcurrent);
|
|
||||||
SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahImplicitGCInvokesConcurrent);
|
|
||||||
|
|
||||||
// Final configuration checks
|
|
||||||
SHENANDOAH_CHECK_FLAG_SET(ShenandoahLoadRefBarrier);
|
|
||||||
SHENANDOAH_CHECK_FLAG_SET(ShenandoahSATBBarrier);
|
|
||||||
SHENANDOAH_CHECK_FLAG_SET(ShenandoahKeepAliveBarrier);
|
|
||||||
SHENANDOAH_CHECK_FLAG_SET(ShenandoahCASBarrier);
|
|
||||||
SHENANDOAH_CHECK_FLAG_SET(ShenandoahCloneBarrier);
|
|
||||||
}
|
|
||||||
|
|
||||||
ShenandoahAdaptiveHeuristics::~ShenandoahAdaptiveHeuristics() {}
|
ShenandoahAdaptiveHeuristics::~ShenandoahAdaptiveHeuristics() {}
|
||||||
|
|
||||||
|
@ -121,7 +110,7 @@ void ShenandoahAdaptiveHeuristics::record_phase_time(ShenandoahPhaseTimings::Pha
|
||||||
} // Else ignore
|
} // Else ignore
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ShenandoahAdaptiveHeuristics::should_start_normal_gc() const {
|
bool ShenandoahAdaptiveHeuristics::should_start_gc() const {
|
||||||
ShenandoahHeap* heap = ShenandoahHeap::heap();
|
ShenandoahHeap* heap = ShenandoahHeap::heap();
|
||||||
size_t capacity = heap->max_capacity();
|
size_t capacity = heap->max_capacity();
|
||||||
size_t available = heap->free_set()->available();
|
size_t available = heap->free_set()->available();
|
||||||
|
@ -172,7 +161,7 @@ bool ShenandoahAdaptiveHeuristics::should_start_normal_gc() const {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ShenandoahHeuristics::should_start_normal_gc();
|
return ShenandoahHeuristics::should_start_gc();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ShenandoahAdaptiveHeuristics::should_start_update_refs() {
|
bool ShenandoahAdaptiveHeuristics::should_start_update_refs() {
|
||||||
|
|
|
@ -47,7 +47,7 @@ public:
|
||||||
|
|
||||||
virtual void record_phase_time(ShenandoahPhaseTimings::Phase phase, double secs);
|
virtual void record_phase_time(ShenandoahPhaseTimings::Phase phase, double secs);
|
||||||
|
|
||||||
virtual bool should_start_normal_gc() const;
|
virtual bool should_start_gc() const;
|
||||||
|
|
||||||
virtual bool should_start_update_refs();
|
virtual bool should_start_update_refs();
|
||||||
|
|
||||||
|
|
|
@ -65,7 +65,7 @@ void ShenandoahAggressiveHeuristics::choose_collection_set_from_regiondata(Shena
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ShenandoahAggressiveHeuristics::should_start_normal_gc() const {
|
bool ShenandoahAggressiveHeuristics::should_start_gc() const {
|
||||||
log_info(gc)("Trigger: Start next cycle immediately");
|
log_info(gc)("Trigger: Start next cycle immediately");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ public:
|
||||||
RegionData* data, size_t size,
|
RegionData* data, size_t size,
|
||||||
size_t free);
|
size_t free);
|
||||||
|
|
||||||
virtual bool should_start_normal_gc() const;
|
virtual bool should_start_gc() const;
|
||||||
|
|
||||||
virtual bool should_process_references();
|
virtual bool should_process_references();
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,7 @@ ShenandoahCompactHeuristics::ShenandoahCompactHeuristics() : ShenandoahHeuristic
|
||||||
SHENANDOAH_CHECK_FLAG_SET(ShenandoahCloneBarrier);
|
SHENANDOAH_CHECK_FLAG_SET(ShenandoahCloneBarrier);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ShenandoahCompactHeuristics::should_start_normal_gc() const {
|
bool ShenandoahCompactHeuristics::should_start_gc() const {
|
||||||
ShenandoahHeap* heap = ShenandoahHeap::heap();
|
ShenandoahHeap* heap = ShenandoahHeap::heap();
|
||||||
|
|
||||||
size_t capacity = heap->max_capacity();
|
size_t capacity = heap->max_capacity();
|
||||||
|
@ -77,7 +77,7 @@ bool ShenandoahCompactHeuristics::should_start_normal_gc() const {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ShenandoahHeuristics::should_start_normal_gc();
|
return ShenandoahHeuristics::should_start_gc();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShenandoahCompactHeuristics::choose_collection_set_from_regiondata(ShenandoahCollectionSet* cset,
|
void ShenandoahCompactHeuristics::choose_collection_set_from_regiondata(ShenandoahCollectionSet* cset,
|
||||||
|
|
|
@ -30,7 +30,7 @@ class ShenandoahCompactHeuristics : public ShenandoahHeuristics {
|
||||||
public:
|
public:
|
||||||
ShenandoahCompactHeuristics();
|
ShenandoahCompactHeuristics();
|
||||||
|
|
||||||
virtual bool should_start_normal_gc() const;
|
virtual bool should_start_gc() const;
|
||||||
|
|
||||||
virtual void choose_collection_set_from_regiondata(ShenandoahCollectionSet* cset,
|
virtual void choose_collection_set_from_regiondata(ShenandoahCollectionSet* cset,
|
||||||
RegionData* data, size_t size,
|
RegionData* data, size_t size,
|
||||||
|
|
|
@ -29,32 +29,7 @@
|
||||||
#include "logging/log.hpp"
|
#include "logging/log.hpp"
|
||||||
#include "logging/logTag.hpp"
|
#include "logging/logTag.hpp"
|
||||||
|
|
||||||
ShenandoahPassiveHeuristics::ShenandoahPassiveHeuristics() : ShenandoahHeuristics() {
|
bool ShenandoahPassiveHeuristics::should_start_gc() const {
|
||||||
// Do not allow concurrent cycles.
|
|
||||||
FLAG_SET_DEFAULT(ExplicitGCInvokesConcurrent, false);
|
|
||||||
FLAG_SET_DEFAULT(ShenandoahImplicitGCInvokesConcurrent, false);
|
|
||||||
|
|
||||||
// Passive runs with max speed, reacts on allocation failure.
|
|
||||||
FLAG_SET_DEFAULT(ShenandoahPacing, false);
|
|
||||||
|
|
||||||
// No need for evacuation reserve with Full GC, only for Degenerated GC.
|
|
||||||
if (!ShenandoahDegeneratedGC) {
|
|
||||||
SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahEvacReserve, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Disable known barriers by default.
|
|
||||||
SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahLoadRefBarrier);
|
|
||||||
SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahSATBBarrier);
|
|
||||||
SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahKeepAliveBarrier);
|
|
||||||
SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahStoreValEnqueueBarrier);
|
|
||||||
SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahCASBarrier);
|
|
||||||
SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahCloneBarrier);
|
|
||||||
|
|
||||||
// Final configuration checks
|
|
||||||
// No barriers are required to run.
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ShenandoahPassiveHeuristics::should_start_normal_gc() const {
|
|
||||||
// Never do concurrent GCs.
|
// Never do concurrent GCs.
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,9 +28,7 @@
|
||||||
|
|
||||||
class ShenandoahPassiveHeuristics : public ShenandoahHeuristics {
|
class ShenandoahPassiveHeuristics : public ShenandoahHeuristics {
|
||||||
public:
|
public:
|
||||||
ShenandoahPassiveHeuristics();
|
virtual bool should_start_gc() const;
|
||||||
|
|
||||||
virtual bool should_start_normal_gc() const;
|
|
||||||
|
|
||||||
virtual bool should_process_references();
|
virtual bool should_process_references();
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,7 @@ ShenandoahStaticHeuristics::ShenandoahStaticHeuristics() : ShenandoahHeuristics(
|
||||||
|
|
||||||
ShenandoahStaticHeuristics::~ShenandoahStaticHeuristics() {}
|
ShenandoahStaticHeuristics::~ShenandoahStaticHeuristics() {}
|
||||||
|
|
||||||
bool ShenandoahStaticHeuristics::should_start_normal_gc() const {
|
bool ShenandoahStaticHeuristics::should_start_gc() const {
|
||||||
ShenandoahHeap* heap = ShenandoahHeap::heap();
|
ShenandoahHeap* heap = ShenandoahHeap::heap();
|
||||||
|
|
||||||
size_t capacity = heap->max_capacity();
|
size_t capacity = heap->max_capacity();
|
||||||
|
@ -61,7 +61,7 @@ bool ShenandoahStaticHeuristics::should_start_normal_gc() const {
|
||||||
available / M, threshold_available / M);
|
available / M, threshold_available / M);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return ShenandoahHeuristics::should_start_normal_gc();
|
return ShenandoahHeuristics::should_start_gc();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShenandoahStaticHeuristics::choose_collection_set_from_regiondata(ShenandoahCollectionSet* cset,
|
void ShenandoahStaticHeuristics::choose_collection_set_from_regiondata(ShenandoahCollectionSet* cset,
|
||||||
|
|
|
@ -32,7 +32,7 @@ public:
|
||||||
|
|
||||||
virtual ~ShenandoahStaticHeuristics();
|
virtual ~ShenandoahStaticHeuristics();
|
||||||
|
|
||||||
virtual bool should_start_normal_gc() const;
|
virtual bool should_start_gc() const;
|
||||||
|
|
||||||
virtual void choose_collection_set_from_regiondata(ShenandoahCollectionSet* cset,
|
virtual void choose_collection_set_from_regiondata(ShenandoahCollectionSet* cset,
|
||||||
RegionData* data, size_t size,
|
RegionData* data, size_t size,
|
||||||
|
|
|
@ -34,26 +34,7 @@
|
||||||
#include "utilities/quickSort.hpp"
|
#include "utilities/quickSort.hpp"
|
||||||
|
|
||||||
ShenandoahTraversalHeuristics::ShenandoahTraversalHeuristics() : ShenandoahHeuristics(),
|
ShenandoahTraversalHeuristics::ShenandoahTraversalHeuristics() : ShenandoahHeuristics(),
|
||||||
_last_cset_select(0)
|
_last_cset_select(0) {}
|
||||||
{
|
|
||||||
FLAG_SET_DEFAULT(ShenandoahSATBBarrier, false);
|
|
||||||
FLAG_SET_DEFAULT(ShenandoahStoreValEnqueueBarrier, true);
|
|
||||||
FLAG_SET_DEFAULT(ShenandoahKeepAliveBarrier, false);
|
|
||||||
FLAG_SET_DEFAULT(ShenandoahAllowMixedAllocs, false);
|
|
||||||
|
|
||||||
SHENANDOAH_ERGO_ENABLE_FLAG(ExplicitGCInvokesConcurrent);
|
|
||||||
SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahImplicitGCInvokesConcurrent);
|
|
||||||
|
|
||||||
// Final configuration checks
|
|
||||||
SHENANDOAH_CHECK_FLAG_SET(ShenandoahLoadRefBarrier);
|
|
||||||
SHENANDOAH_CHECK_FLAG_SET(ShenandoahStoreValEnqueueBarrier);
|
|
||||||
SHENANDOAH_CHECK_FLAG_SET(ShenandoahCASBarrier);
|
|
||||||
SHENANDOAH_CHECK_FLAG_SET(ShenandoahCloneBarrier);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ShenandoahTraversalHeuristics::should_start_normal_gc() const {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ShenandoahTraversalHeuristics::is_experimental() {
|
bool ShenandoahTraversalHeuristics::is_experimental() {
|
||||||
return true;
|
return true;
|
||||||
|
@ -63,10 +44,6 @@ bool ShenandoahTraversalHeuristics::is_diagnostic() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ShenandoahTraversalHeuristics::can_do_traversal_gc() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
const char* ShenandoahTraversalHeuristics::name() {
|
const char* ShenandoahTraversalHeuristics::name() {
|
||||||
return "traversal";
|
return "traversal";
|
||||||
}
|
}
|
||||||
|
@ -202,7 +179,7 @@ void ShenandoahTraversalHeuristics::choose_collection_set(ShenandoahCollectionSe
|
||||||
_last_cset_select = ShenandoahHeapRegion::seqnum_current_alloc();
|
_last_cset_select = ShenandoahHeapRegion::seqnum_current_alloc();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ShenandoahTraversalHeuristics::should_start_traversal_gc() {
|
bool ShenandoahTraversalHeuristics::should_start_gc() const {
|
||||||
ShenandoahHeap* heap = ShenandoahHeap::heap();
|
ShenandoahHeap* heap = ShenandoahHeap::heap();
|
||||||
assert(!heap->has_forwarded_objects(), "no forwarded objects here");
|
assert(!heap->has_forwarded_objects(), "no forwarded objects here");
|
||||||
|
|
||||||
|
@ -251,7 +228,7 @@ bool ShenandoahTraversalHeuristics::should_start_traversal_gc() {
|
||||||
log_info(gc, ergo)("Free headroom: " SIZE_FORMAT "M (free) - " SIZE_FORMAT "M (spike) - " SIZE_FORMAT "M (penalties) = " SIZE_FORMAT "M",
|
log_info(gc, ergo)("Free headroom: " SIZE_FORMAT "M (free) - " SIZE_FORMAT "M (spike) - " SIZE_FORMAT "M (penalties) = " SIZE_FORMAT "M",
|
||||||
available / M, spike_headroom / M, penalties / M, allocation_headroom / M);
|
available / M, spike_headroom / M, penalties / M, allocation_headroom / M);
|
||||||
return true;
|
return true;
|
||||||
} else if (ShenandoahHeuristics::should_start_normal_gc()) {
|
} else if (ShenandoahHeuristics::should_start_gc()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,19 +38,15 @@ protected:
|
||||||
public:
|
public:
|
||||||
ShenandoahTraversalHeuristics();
|
ShenandoahTraversalHeuristics();
|
||||||
|
|
||||||
virtual bool should_start_normal_gc() const;
|
|
||||||
|
|
||||||
virtual bool is_experimental();
|
virtual bool is_experimental();
|
||||||
|
|
||||||
virtual bool is_diagnostic();
|
virtual bool is_diagnostic();
|
||||||
|
|
||||||
virtual bool can_do_traversal_gc();
|
|
||||||
|
|
||||||
virtual const char* name();
|
virtual const char* name();
|
||||||
|
|
||||||
virtual void choose_collection_set(ShenandoahCollectionSet* collection_set);
|
virtual void choose_collection_set(ShenandoahCollectionSet* collection_set);
|
||||||
|
|
||||||
virtual bool should_start_traversal_gc();
|
virtual bool should_start_gc() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHTRAVERSALHEURISTICS_HPP
|
#endif // SHARE_GC_SHENANDOAH_HEURISTICS_SHENANDOAHTRAVERSALHEURISTICS_HPP
|
||||||
|
|
|
@ -68,6 +68,10 @@ void ShenandoahPeriodicSATBFlushTask::task() {
|
||||||
void ShenandoahControlThread::run_service() {
|
void ShenandoahControlThread::run_service() {
|
||||||
ShenandoahHeap* heap = ShenandoahHeap::heap();
|
ShenandoahHeap* heap = ShenandoahHeap::heap();
|
||||||
|
|
||||||
|
GCMode default_mode = heap->is_traversal_mode() ?
|
||||||
|
concurrent_traversal : concurrent_normal;
|
||||||
|
GCCause::Cause default_cause = heap->is_traversal_mode() ?
|
||||||
|
GCCause::_shenandoah_traversal_gc : GCCause::_shenandoah_concurrent_gc;
|
||||||
int sleep = ShenandoahControlIntervalMin;
|
int sleep = ShenandoahControlIntervalMin;
|
||||||
|
|
||||||
double last_shrink_time = os::elapsedTime();
|
double last_shrink_time = os::elapsedTime();
|
||||||
|
@ -123,11 +127,7 @@ void ShenandoahControlThread::run_service() {
|
||||||
|
|
||||||
if (ExplicitGCInvokesConcurrent) {
|
if (ExplicitGCInvokesConcurrent) {
|
||||||
policy->record_explicit_to_concurrent();
|
policy->record_explicit_to_concurrent();
|
||||||
if (heuristics->can_do_traversal_gc()) {
|
mode = default_mode;
|
||||||
mode = concurrent_traversal;
|
|
||||||
} else {
|
|
||||||
mode = concurrent_normal;
|
|
||||||
}
|
|
||||||
// Unload and clean up everything
|
// Unload and clean up everything
|
||||||
heap->set_process_references(heuristics->can_process_references());
|
heap->set_process_references(heuristics->can_process_references());
|
||||||
heap->set_unload_classes(heuristics->can_unload_classes());
|
heap->set_unload_classes(heuristics->can_unload_classes());
|
||||||
|
@ -143,11 +143,7 @@ void ShenandoahControlThread::run_service() {
|
||||||
|
|
||||||
if (ShenandoahImplicitGCInvokesConcurrent) {
|
if (ShenandoahImplicitGCInvokesConcurrent) {
|
||||||
policy->record_implicit_to_concurrent();
|
policy->record_implicit_to_concurrent();
|
||||||
if (heuristics->can_do_traversal_gc()) {
|
mode = default_mode;
|
||||||
mode = concurrent_traversal;
|
|
||||||
} else {
|
|
||||||
mode = concurrent_normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Unload and clean up everything
|
// Unload and clean up everything
|
||||||
heap->set_process_references(heuristics->can_process_references());
|
heap->set_process_references(heuristics->can_process_references());
|
||||||
|
@ -158,12 +154,9 @@ void ShenandoahControlThread::run_service() {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Potential normal cycle: ask heuristics if it wants to act
|
// Potential normal cycle: ask heuristics if it wants to act
|
||||||
if (heuristics->should_start_traversal_gc()) {
|
if (heuristics->should_start_gc()) {
|
||||||
mode = concurrent_traversal;
|
mode = default_mode;
|
||||||
cause = GCCause::_shenandoah_traversal_gc;
|
cause = default_cause;
|
||||||
} else if (heuristics->should_start_normal_gc()) {
|
|
||||||
mode = concurrent_normal;
|
|
||||||
cause = GCCause::_shenandoah_concurrent_gc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ask policy if this cycle wants to process references or unload classes
|
// Ask policy if this cycle wants to process references or unload classes
|
||||||
|
|
|
@ -50,23 +50,20 @@
|
||||||
#include "gc/shenandoah/shenandoahMemoryPool.hpp"
|
#include "gc/shenandoah/shenandoahMemoryPool.hpp"
|
||||||
#include "gc/shenandoah/shenandoahMetrics.hpp"
|
#include "gc/shenandoah/shenandoahMetrics.hpp"
|
||||||
#include "gc/shenandoah/shenandoahMonitoringSupport.hpp"
|
#include "gc/shenandoah/shenandoahMonitoringSupport.hpp"
|
||||||
|
#include "gc/shenandoah/shenandoahNormalMode.hpp"
|
||||||
#include "gc/shenandoah/shenandoahOopClosures.inline.hpp"
|
#include "gc/shenandoah/shenandoahOopClosures.inline.hpp"
|
||||||
#include "gc/shenandoah/shenandoahPacer.inline.hpp"
|
#include "gc/shenandoah/shenandoahPacer.inline.hpp"
|
||||||
|
#include "gc/shenandoah/shenandoahPassiveMode.hpp"
|
||||||
#include "gc/shenandoah/shenandoahRootProcessor.inline.hpp"
|
#include "gc/shenandoah/shenandoahRootProcessor.inline.hpp"
|
||||||
#include "gc/shenandoah/shenandoahStringDedup.hpp"
|
#include "gc/shenandoah/shenandoahStringDedup.hpp"
|
||||||
#include "gc/shenandoah/shenandoahTaskqueue.hpp"
|
#include "gc/shenandoah/shenandoahTaskqueue.hpp"
|
||||||
|
#include "gc/shenandoah/shenandoahTraversalMode.hpp"
|
||||||
#include "gc/shenandoah/shenandoahUtils.hpp"
|
#include "gc/shenandoah/shenandoahUtils.hpp"
|
||||||
#include "gc/shenandoah/shenandoahVerifier.hpp"
|
#include "gc/shenandoah/shenandoahVerifier.hpp"
|
||||||
#include "gc/shenandoah/shenandoahCodeRoots.hpp"
|
#include "gc/shenandoah/shenandoahCodeRoots.hpp"
|
||||||
#include "gc/shenandoah/shenandoahVMOperations.hpp"
|
#include "gc/shenandoah/shenandoahVMOperations.hpp"
|
||||||
#include "gc/shenandoah/shenandoahWorkGroup.hpp"
|
#include "gc/shenandoah/shenandoahWorkGroup.hpp"
|
||||||
#include "gc/shenandoah/shenandoahWorkerPolicy.hpp"
|
#include "gc/shenandoah/shenandoahWorkerPolicy.hpp"
|
||||||
#include "gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp"
|
|
||||||
#include "gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.hpp"
|
|
||||||
#include "gc/shenandoah/heuristics/shenandoahCompactHeuristics.hpp"
|
|
||||||
#include "gc/shenandoah/heuristics/shenandoahPassiveHeuristics.hpp"
|
|
||||||
#include "gc/shenandoah/heuristics/shenandoahStaticHeuristics.hpp"
|
|
||||||
#include "gc/shenandoah/heuristics/shenandoahTraversalHeuristics.hpp"
|
|
||||||
#if INCLUDE_JFR
|
#if INCLUDE_JFR
|
||||||
#include "gc/shenandoah/shenandoahJfrSupport.hpp"
|
#include "gc/shenandoah/shenandoahJfrSupport.hpp"
|
||||||
#endif
|
#endif
|
||||||
|
@ -367,7 +364,7 @@ jint ShenandoahHeap::initialize() {
|
||||||
_pacer = NULL;
|
_pacer = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
_traversal_gc = heuristics()->can_do_traversal_gc() ?
|
_traversal_gc = strcmp(ShenandoahGCMode, "traversal") == 0 ?
|
||||||
new ShenandoahTraversalGC(this, _num_regions) :
|
new ShenandoahTraversalGC(this, _num_regions) :
|
||||||
NULL;
|
NULL;
|
||||||
|
|
||||||
|
@ -387,22 +384,21 @@ jint ShenandoahHeap::initialize() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShenandoahHeap::initialize_heuristics() {
|
void ShenandoahHeap::initialize_heuristics() {
|
||||||
if (ShenandoahGCHeuristics != NULL) {
|
if (ShenandoahGCMode != NULL) {
|
||||||
if (strcmp(ShenandoahGCHeuristics, "aggressive") == 0) {
|
if (strcmp(ShenandoahGCMode, "traversal") == 0) {
|
||||||
_heuristics = new ShenandoahAggressiveHeuristics();
|
_gc_mode = new ShenandoahTraversalMode();
|
||||||
} else if (strcmp(ShenandoahGCHeuristics, "static") == 0) {
|
} else if (strcmp(ShenandoahGCMode, "normal") == 0) {
|
||||||
_heuristics = new ShenandoahStaticHeuristics();
|
_gc_mode = new ShenandoahNormalMode();
|
||||||
} else if (strcmp(ShenandoahGCHeuristics, "adaptive") == 0) {
|
} else if (strcmp(ShenandoahGCMode, "passive") == 0) {
|
||||||
_heuristics = new ShenandoahAdaptiveHeuristics();
|
_gc_mode = new ShenandoahPassiveMode();
|
||||||
} else if (strcmp(ShenandoahGCHeuristics, "passive") == 0) {
|
|
||||||
_heuristics = new ShenandoahPassiveHeuristics();
|
|
||||||
} else if (strcmp(ShenandoahGCHeuristics, "compact") == 0) {
|
|
||||||
_heuristics = new ShenandoahCompactHeuristics();
|
|
||||||
} else if (strcmp(ShenandoahGCHeuristics, "traversal") == 0) {
|
|
||||||
_heuristics = new ShenandoahTraversalHeuristics();
|
|
||||||
} else {
|
} else {
|
||||||
vm_exit_during_initialization("Unknown -XX:ShenandoahGCHeuristics option");
|
vm_exit_during_initialization("Unknown -XX:ShenandoahGCMode option");
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
ShouldNotReachHere();
|
||||||
|
}
|
||||||
|
_gc_mode->initialize_flags();
|
||||||
|
_heuristics = _gc_mode->initialize_heuristics();
|
||||||
|
|
||||||
if (_heuristics->is_diagnostic() && !UnlockDiagnosticVMOptions) {
|
if (_heuristics->is_diagnostic() && !UnlockDiagnosticVMOptions) {
|
||||||
vm_exit_during_initialization(
|
vm_exit_during_initialization(
|
||||||
|
@ -416,10 +412,6 @@ void ShenandoahHeap::initialize_heuristics() {
|
||||||
}
|
}
|
||||||
log_info(gc, init)("Shenandoah heuristics: %s",
|
log_info(gc, init)("Shenandoah heuristics: %s",
|
||||||
_heuristics->name());
|
_heuristics->name());
|
||||||
} else {
|
|
||||||
ShouldNotReachHere();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
|
@ -1704,7 +1696,7 @@ void ShenandoahHeap::op_degenerated(ShenandoahDegenPoint point) {
|
||||||
set_process_references(heuristics()->can_process_references());
|
set_process_references(heuristics()->can_process_references());
|
||||||
set_unload_classes(heuristics()->can_unload_classes());
|
set_unload_classes(heuristics()->can_unload_classes());
|
||||||
|
|
||||||
if (heuristics()->can_do_traversal_gc()) {
|
if (is_traversal_mode()) {
|
||||||
// Not possible to degenerate from here, upgrade to Full GC right away.
|
// Not possible to degenerate from here, upgrade to Full GC right away.
|
||||||
cancel_gc(GCCause::_shenandoah_upgrade_to_full_gc);
|
cancel_gc(GCCause::_shenandoah_upgrade_to_full_gc);
|
||||||
op_degenerated_fail();
|
op_degenerated_fail();
|
||||||
|
|
|
@ -43,6 +43,7 @@ class ShenandoahGCSession;
|
||||||
class ShenandoahGCStateResetter;
|
class ShenandoahGCStateResetter;
|
||||||
class ShenandoahHeuristics;
|
class ShenandoahHeuristics;
|
||||||
class ShenandoahMarkingContext;
|
class ShenandoahMarkingContext;
|
||||||
|
class ShenandoahMode;
|
||||||
class ShenandoahPhaseTimings;
|
class ShenandoahPhaseTimings;
|
||||||
class ShenandoahHeap;
|
class ShenandoahHeap;
|
||||||
class ShenandoahHeapRegion;
|
class ShenandoahHeapRegion;
|
||||||
|
@ -435,6 +436,7 @@ private:
|
||||||
private:
|
private:
|
||||||
ShenandoahControlThread* _control_thread;
|
ShenandoahControlThread* _control_thread;
|
||||||
ShenandoahCollectorPolicy* _shenandoah_policy;
|
ShenandoahCollectorPolicy* _shenandoah_policy;
|
||||||
|
ShenandoahMode* _gc_mode;
|
||||||
ShenandoahHeuristics* _heuristics;
|
ShenandoahHeuristics* _heuristics;
|
||||||
ShenandoahFreeSet* _free_set;
|
ShenandoahFreeSet* _free_set;
|
||||||
ShenandoahConcurrentMark* _scm;
|
ShenandoahConcurrentMark* _scm;
|
||||||
|
@ -454,7 +456,8 @@ public:
|
||||||
ShenandoahHeuristics* heuristics() const { return _heuristics; }
|
ShenandoahHeuristics* heuristics() const { return _heuristics; }
|
||||||
ShenandoahFreeSet* free_set() const { return _free_set; }
|
ShenandoahFreeSet* free_set() const { return _free_set; }
|
||||||
ShenandoahConcurrentMark* concurrent_mark() { return _scm; }
|
ShenandoahConcurrentMark* concurrent_mark() { return _scm; }
|
||||||
ShenandoahTraversalGC* traversal_gc() { return _traversal_gc; }
|
ShenandoahTraversalGC* traversal_gc() const { return _traversal_gc; }
|
||||||
|
bool is_traversal_mode() const { return _traversal_gc != NULL; }
|
||||||
ShenandoahPacer* pacer() const { return _pacer; }
|
ShenandoahPacer* pacer() const { return _pacer; }
|
||||||
|
|
||||||
ShenandoahPhaseTimings* phase_timings() const { return _phase_timings; }
|
ShenandoahPhaseTimings* phase_timings() const { return _phase_timings; }
|
||||||
|
|
|
@ -228,7 +228,7 @@ bool ShenandoahHeuristics::should_start_update_refs() {
|
||||||
return _update_refs_early;
|
return _update_refs_early;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ShenandoahHeuristics::should_start_normal_gc() const {
|
bool ShenandoahHeuristics::should_start_gc() const {
|
||||||
// Perform GC to cleanup metaspace
|
// Perform GC to cleanup metaspace
|
||||||
if (has_metaspace_oom()) {
|
if (has_metaspace_oom()) {
|
||||||
// Some of vmTestbase/metaspace tests depend on following line to count GC cycles
|
// Some of vmTestbase/metaspace tests depend on following line to count GC cycles
|
||||||
|
@ -245,14 +245,6 @@ bool ShenandoahHeuristics::should_start_normal_gc() const {
|
||||||
return periodic_gc;
|
return periodic_gc;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ShenandoahHeuristics::should_start_traversal_gc() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ShenandoahHeuristics::can_do_traversal_gc() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ShenandoahHeuristics::should_degenerate_cycle() {
|
bool ShenandoahHeuristics::should_degenerate_cycle() {
|
||||||
return _degenerated_cycles_in_a_row <= ShenandoahFullGCThreshold;
|
return _degenerated_cycles_in_a_row <= ShenandoahFullGCThreshold;
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,14 +127,10 @@ public:
|
||||||
|
|
||||||
virtual void record_phase_time(ShenandoahPhaseTimings::Phase phase, double secs);
|
virtual void record_phase_time(ShenandoahPhaseTimings::Phase phase, double secs);
|
||||||
|
|
||||||
virtual bool should_start_normal_gc() const;
|
virtual bool should_start_gc() const;
|
||||||
|
|
||||||
virtual bool should_start_update_refs();
|
virtual bool should_start_update_refs();
|
||||||
|
|
||||||
virtual bool should_start_traversal_gc();
|
|
||||||
|
|
||||||
virtual bool can_do_traversal_gc();
|
|
||||||
|
|
||||||
virtual bool should_degenerate_cycle();
|
virtual bool should_degenerate_cycle();
|
||||||
|
|
||||||
virtual void record_success_concurrent();
|
virtual void record_success_concurrent();
|
||||||
|
|
37
src/hotspot/share/gc/shenandoah/shenandoahMode.hpp
Normal file
37
src/hotspot/share/gc/shenandoah/shenandoahMode.hpp
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2019, 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.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHMODE_HPP
|
||||||
|
#define SHARE_GC_SHENANDOAH_SHENANDOAHMODE_HPP
|
||||||
|
|
||||||
|
#include "memory/allocation.hpp"
|
||||||
|
|
||||||
|
class ShenandoahHeuristics;
|
||||||
|
|
||||||
|
class ShenandoahMode : public CHeapObj<mtGC> {
|
||||||
|
public:
|
||||||
|
virtual void initialize_flags() const = 0;
|
||||||
|
virtual ShenandoahHeuristics* initialize_heuristics() const = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // SHARE_GC_SHENANDOAH_SHENANDOAHMODE_HPP
|
60
src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp
Normal file
60
src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2019, 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.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "precompiled.hpp"
|
||||||
|
#include "gc/shenandoah/shenandoahNormalMode.hpp"
|
||||||
|
#include "gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp"
|
||||||
|
#include "gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.hpp"
|
||||||
|
#include "gc/shenandoah/heuristics/shenandoahCompactHeuristics.hpp"
|
||||||
|
#include "gc/shenandoah/heuristics/shenandoahStaticHeuristics.hpp"
|
||||||
|
#include "logging/log.hpp"
|
||||||
|
#include "logging/logTag.hpp"
|
||||||
|
|
||||||
|
void ShenandoahNormalMode::initialize_flags() const {
|
||||||
|
SHENANDOAH_ERGO_ENABLE_FLAG(ExplicitGCInvokesConcurrent);
|
||||||
|
SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahImplicitGCInvokesConcurrent);
|
||||||
|
|
||||||
|
// Final configuration checks
|
||||||
|
SHENANDOAH_CHECK_FLAG_SET(ShenandoahLoadRefBarrier);
|
||||||
|
SHENANDOAH_CHECK_FLAG_SET(ShenandoahSATBBarrier);
|
||||||
|
SHENANDOAH_CHECK_FLAG_SET(ShenandoahKeepAliveBarrier);
|
||||||
|
SHENANDOAH_CHECK_FLAG_SET(ShenandoahCASBarrier);
|
||||||
|
SHENANDOAH_CHECK_FLAG_SET(ShenandoahCloneBarrier);
|
||||||
|
}
|
||||||
|
|
||||||
|
ShenandoahHeuristics* ShenandoahNormalMode::initialize_heuristics() const {
|
||||||
|
if (ShenandoahGCHeuristics != NULL) {
|
||||||
|
if (strcmp(ShenandoahGCHeuristics, "aggressive") == 0) {
|
||||||
|
return new ShenandoahAggressiveHeuristics();
|
||||||
|
} else if (strcmp(ShenandoahGCHeuristics, "static") == 0) {
|
||||||
|
return new ShenandoahStaticHeuristics();
|
||||||
|
} else if (strcmp(ShenandoahGCHeuristics, "adaptive") == 0) {
|
||||||
|
return new ShenandoahAdaptiveHeuristics();
|
||||||
|
} else if (strcmp(ShenandoahGCHeuristics, "compact") == 0) {
|
||||||
|
return new ShenandoahCompactHeuristics();
|
||||||
|
} else {
|
||||||
|
vm_exit_during_initialization("Unknown -XX:ShenandoahGCHeuristics option");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ShouldNotReachHere();
|
||||||
|
return NULL;
|
||||||
|
}
|
37
src/hotspot/share/gc/shenandoah/shenandoahNormalMode.hpp
Normal file
37
src/hotspot/share/gc/shenandoah/shenandoahNormalMode.hpp
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2019, 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.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHNORMALMODE_HPP
|
||||||
|
#define SHARE_GC_SHENANDOAH_SHENANDOAHNORMALMODE_HPP
|
||||||
|
|
||||||
|
#include "gc/shenandoah/shenandoahMode.hpp"
|
||||||
|
|
||||||
|
class ShenandoahHeuristics;
|
||||||
|
|
||||||
|
class ShenandoahNormalMode : public ShenandoahMode {
|
||||||
|
public:
|
||||||
|
virtual void initialize_flags() const;
|
||||||
|
virtual ShenandoahHeuristics* initialize_heuristics() const;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // SHARE_GC_SHENANDOAH_SHENANDOAHNORMALMODE_HPP
|
60
src/hotspot/share/gc/shenandoah/shenandoahPassiveMode.cpp
Normal file
60
src/hotspot/share/gc/shenandoah/shenandoahPassiveMode.cpp
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2019, 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.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "precompiled.hpp"
|
||||||
|
#include "gc/shenandoah/shenandoahPassiveMode.hpp"
|
||||||
|
#include "gc/shenandoah/heuristics/shenandoahPassiveHeuristics.hpp"
|
||||||
|
#include "logging/log.hpp"
|
||||||
|
#include "logging/logTag.hpp"
|
||||||
|
|
||||||
|
void ShenandoahPassiveMode::initialize_flags() const {
|
||||||
|
// Do not allow concurrent cycles.
|
||||||
|
FLAG_SET_DEFAULT(ExplicitGCInvokesConcurrent, false);
|
||||||
|
FLAG_SET_DEFAULT(ShenandoahImplicitGCInvokesConcurrent, false);
|
||||||
|
|
||||||
|
// Passive runs with max speed, reacts on allocation failure.
|
||||||
|
FLAG_SET_DEFAULT(ShenandoahPacing, false);
|
||||||
|
|
||||||
|
// No need for evacuation reserve with Full GC, only for Degenerated GC.
|
||||||
|
if (!ShenandoahDegeneratedGC) {
|
||||||
|
SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahEvacReserve, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Disable known barriers by default.
|
||||||
|
SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahLoadRefBarrier);
|
||||||
|
SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahSATBBarrier);
|
||||||
|
SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahKeepAliveBarrier);
|
||||||
|
SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahStoreValEnqueueBarrier);
|
||||||
|
SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahCASBarrier);
|
||||||
|
SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahCloneBarrier);
|
||||||
|
|
||||||
|
// Final configuration checks
|
||||||
|
// No barriers are required to run.
|
||||||
|
}
|
||||||
|
ShenandoahHeuristics* ShenandoahPassiveMode::initialize_heuristics() const {
|
||||||
|
if (ShenandoahGCHeuristics != NULL) {
|
||||||
|
return new ShenandoahPassiveHeuristics();
|
||||||
|
}
|
||||||
|
ShouldNotReachHere();
|
||||||
|
return NULL;
|
||||||
|
}
|
35
src/hotspot/share/gc/shenandoah/shenandoahPassiveMode.hpp
Normal file
35
src/hotspot/share/gc/shenandoah/shenandoahPassiveMode.hpp
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2019, 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.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHPASSIVEMODE_HPP
|
||||||
|
#define SHARE_GC_SHENANDOAH_SHENANDOAHPASSIVEMODE_HPP
|
||||||
|
|
||||||
|
#include "gc/shenandoah/shenandoahNormalMode.hpp"
|
||||||
|
|
||||||
|
class ShenandoahPassiveMode : public ShenandoahNormalMode {
|
||||||
|
public:
|
||||||
|
virtual void initialize_flags() const;
|
||||||
|
virtual ShenandoahHeuristics* initialize_heuristics() const;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // SHARE_GC_SHENANDOAH_SHENANDOAHNORMALMODE_HPP
|
|
@ -225,7 +225,7 @@ template <typename ITR>
|
||||||
void ShenandoahRootScanner<ITR>::roots_do(uint worker_id, OopClosure* oops, CLDClosure* clds, CodeBlobClosure* code, ThreadClosure *tc) {
|
void ShenandoahRootScanner<ITR>::roots_do(uint worker_id, OopClosure* oops, CLDClosure* clds, CodeBlobClosure* code, ThreadClosure *tc) {
|
||||||
assert(!ShenandoahSafepoint::is_at_shenandoah_safepoint() ||
|
assert(!ShenandoahSafepoint::is_at_shenandoah_safepoint() ||
|
||||||
!ShenandoahHeap::heap()->unload_classes() ||
|
!ShenandoahHeap::heap()->unload_classes() ||
|
||||||
ShenandoahHeap::heap()->heuristics()->can_do_traversal_gc(),
|
ShenandoahHeap::heap()->is_traversal_mode(),
|
||||||
"Expect class unloading or traversal when Shenandoah cycle is running");
|
"Expect class unloading or traversal when Shenandoah cycle is running");
|
||||||
ShenandoahParallelOopsDoThreadClosure tc_cl(oops, code, tc);
|
ShenandoahParallelOopsDoThreadClosure tc_cl(oops, code, tc);
|
||||||
ResourceMark rm;
|
ResourceMark rm;
|
||||||
|
|
56
src/hotspot/share/gc/shenandoah/shenandoahTraversalMode.cpp
Normal file
56
src/hotspot/share/gc/shenandoah/shenandoahTraversalMode.cpp
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2019, 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.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "precompiled.hpp"
|
||||||
|
#include "gc/shenandoah/shenandoahTraversalMode.hpp"
|
||||||
|
#include "gc/shenandoah/heuristics/shenandoahTraversalHeuristics.hpp"
|
||||||
|
#include "logging/log.hpp"
|
||||||
|
#include "logging/logTag.hpp"
|
||||||
|
|
||||||
|
void ShenandoahTraversalMode::initialize_flags() const {
|
||||||
|
FLAG_SET_DEFAULT(ShenandoahSATBBarrier, false);
|
||||||
|
FLAG_SET_DEFAULT(ShenandoahStoreValEnqueueBarrier, true);
|
||||||
|
FLAG_SET_DEFAULT(ShenandoahKeepAliveBarrier, false);
|
||||||
|
FLAG_SET_DEFAULT(ShenandoahAllowMixedAllocs, false);
|
||||||
|
|
||||||
|
SHENANDOAH_ERGO_ENABLE_FLAG(ExplicitGCInvokesConcurrent);
|
||||||
|
SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahImplicitGCInvokesConcurrent);
|
||||||
|
|
||||||
|
// Final configuration checks
|
||||||
|
SHENANDOAH_CHECK_FLAG_SET(ShenandoahLoadRefBarrier);
|
||||||
|
SHENANDOAH_CHECK_FLAG_SET(ShenandoahStoreValEnqueueBarrier);
|
||||||
|
SHENANDOAH_CHECK_FLAG_SET(ShenandoahCASBarrier);
|
||||||
|
SHENANDOAH_CHECK_FLAG_SET(ShenandoahCloneBarrier);
|
||||||
|
}
|
||||||
|
|
||||||
|
ShenandoahHeuristics* ShenandoahTraversalMode::initialize_heuristics() const {
|
||||||
|
if (ShenandoahGCHeuristics != NULL) {
|
||||||
|
if (strcmp(ShenandoahGCHeuristics, "adaptive") == 0) {
|
||||||
|
return new ShenandoahTraversalHeuristics();
|
||||||
|
} else {
|
||||||
|
vm_exit_during_initialization("Unknown -XX:ShenandoahGCHeuristics option");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ShouldNotReachHere();
|
||||||
|
return NULL;
|
||||||
|
}
|
37
src/hotspot/share/gc/shenandoah/shenandoahTraversalMode.hpp
Normal file
37
src/hotspot/share/gc/shenandoah/shenandoahTraversalMode.hpp
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2019, 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.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHTRAVERSALMODE_HPP
|
||||||
|
#define SHARE_GC_SHENANDOAH_SHENANDOAHTRAVERSALMODE_HPP
|
||||||
|
|
||||||
|
#include "gc/shenandoah/shenandoahMode.hpp"
|
||||||
|
|
||||||
|
class ShenandoahHeuristics;
|
||||||
|
|
||||||
|
class ShenandoahTraversalMode : public ShenandoahMode {
|
||||||
|
public:
|
||||||
|
virtual void initialize_flags() const;
|
||||||
|
virtual ShenandoahHeuristics* initialize_heuristics() const;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // SHARE_GC_SHENANDOAH_SHENANDOAHTRAVERSALMODE_HPP
|
|
@ -65,13 +65,18 @@
|
||||||
" *) static - start concurrent GC when static free heap " \
|
" *) static - start concurrent GC when static free heap " \
|
||||||
" threshold and static allocation threshold are " \
|
" threshold and static allocation threshold are " \
|
||||||
" tripped;" \
|
" tripped;" \
|
||||||
" *) passive - do not start concurrent GC, wait for Full GC; " \
|
|
||||||
" *) aggressive - run concurrent GC continuously, evacuate " \
|
" *) aggressive - run concurrent GC continuously, evacuate " \
|
||||||
" everything;" \
|
" everything;" \
|
||||||
" *) compact - run GC with lower footprint target, may end up " \
|
" *) compact - run GC with lower footprint target, may end up " \
|
||||||
" doing continuous GC, evacuate lots of live " \
|
" doing continuous GC, evacuate lots of live " \
|
||||||
" objects, uncommit heap aggressively;") \
|
" objects, uncommit heap aggressively;") \
|
||||||
\
|
\
|
||||||
|
experimental(ccstr, ShenandoahGCMode, "normal", \
|
||||||
|
"The GC mode to use in Shenandoah GC. Possible values" \
|
||||||
|
" *) normal - normal GC (mark-evac-update)" \
|
||||||
|
" *) traversal - traversal GC (single-pass)" \
|
||||||
|
" *) passive - disable concurrent GC, do stop-the-world GC") \
|
||||||
|
\
|
||||||
experimental(ccstr, ShenandoahUpdateRefsEarly, "adaptive", \
|
experimental(ccstr, ShenandoahUpdateRefsEarly, "adaptive", \
|
||||||
"Run a separate concurrent reference updating phase after" \
|
"Run a separate concurrent reference updating phase after" \
|
||||||
"concurrent evacuation. Possible values: 'on', 'off', 'adaptive'")\
|
"concurrent evacuation. Possible values: 'on', 'off', 'adaptive'")\
|
||||||
|
|
|
@ -113,7 +113,7 @@ public class TestVolatiles {
|
||||||
procArgs = new String[argcount];
|
procArgs = new String[argcount];
|
||||||
procArgs[argcount - 4] = "-XX:+UnlockExperimentalVMOptions";
|
procArgs[argcount - 4] = "-XX:+UnlockExperimentalVMOptions";
|
||||||
procArgs[argcount - 3] = "-XX:+UseShenandoahGC";
|
procArgs[argcount - 3] = "-XX:+UseShenandoahGC";
|
||||||
procArgs[argcount - 2] = "-XX:ShenandoahGCHeuristics=traversal";
|
procArgs[argcount - 2] = "-XX:ShenandoahGCMode=traversal";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new RuntimeException("unexpected test type " + testType);
|
throw new RuntimeException("unexpected test type " + testType);
|
||||||
|
|
|
@ -40,13 +40,13 @@ package gc;
|
||||||
* @library /
|
* @library /
|
||||||
* @requires (os.arch =="x86_64" | os.arch == "amd64") & vm.gc.Shenandoah & !vm.graal.enabled
|
* @requires (os.arch =="x86_64" | os.arch == "amd64") & vm.gc.Shenandoah & !vm.graal.enabled
|
||||||
* @summary test argument unpacking nmethod wrapper of critical native method
|
* @summary test argument unpacking nmethod wrapper of critical native method
|
||||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.CriticalNativeArgs
|
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.CriticalNativeArgs
|
||||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.CriticalNativeArgs
|
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.CriticalNativeArgs
|
||||||
*
|
*
|
||||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.CriticalNativeArgs
|
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.CriticalNativeArgs
|
||||||
*
|
*
|
||||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xcomp -Xmx256M -XX:+CriticalJNINatives gc.CriticalNativeArgs
|
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xcomp -Xmx256M -XX:+CriticalJNINatives gc.CriticalNativeArgs
|
||||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UnlockExperimentalVMOptions -XX:ShenandoahGCHeuristics=traversal -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.CriticalNativeArgs
|
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UnlockExperimentalVMOptions -XX:ShenandoahGCMode=traversal -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.CriticalNativeArgs
|
||||||
*/
|
*/
|
||||||
public class CriticalNativeArgs {
|
public class CriticalNativeArgs {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|
|
@ -27,10 +27,10 @@
|
||||||
* @key gc
|
* @key gc
|
||||||
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
||||||
*
|
*
|
||||||
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestAllocHumongousFragment
|
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestAllocHumongousFragment
|
||||||
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestAllocHumongousFragment
|
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestAllocHumongousFragment
|
||||||
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC TestAllocHumongousFragment
|
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC TestAllocHumongousFragment
|
||||||
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC TestAllocHumongousFragment
|
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC TestAllocHumongousFragment
|
||||||
*
|
*
|
||||||
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot -XX:+ShenandoahVerify TestAllocHumongousFragment
|
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot -XX:+ShenandoahVerify TestAllocHumongousFragment
|
||||||
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahAllocFailureALot -XX:+ShenandoahVerify TestAllocHumongousFragment
|
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahAllocFailureALot -XX:+ShenandoahVerify TestAllocHumongousFragment
|
||||||
|
@ -38,11 +38,11 @@
|
||||||
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahAllocFailureALot TestAllocHumongousFragment
|
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahAllocFailureALot TestAllocHumongousFragment
|
||||||
*
|
*
|
||||||
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify TestAllocHumongousFragment
|
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify TestAllocHumongousFragment
|
||||||
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCHeuristics=traversal -XX:+ShenandoahVerify TestAllocHumongousFragment
|
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCMode=traversal -XX:+ShenandoahVerify TestAllocHumongousFragment
|
||||||
*
|
*
|
||||||
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCHeuristics=adaptive TestAllocHumongousFragment
|
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCHeuristics=adaptive TestAllocHumongousFragment
|
||||||
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCHeuristics=static TestAllocHumongousFragment
|
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCHeuristics=static TestAllocHumongousFragment
|
||||||
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCHeuristics=traversal TestAllocHumongousFragment
|
* @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 -XX:ShenandoahGCMode=traversal TestAllocHumongousFragment
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
|
@ -27,10 +27,10 @@
|
||||||
* @key gc
|
* @key gc
|
||||||
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestAllocIntArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestAllocIntArrays
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestAllocIntArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestAllocIntArrays
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC TestAllocIntArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC TestAllocIntArrays
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC TestAllocIntArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC TestAllocIntArrays
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot -XX:+ShenandoahVerify TestAllocIntArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot -XX:+ShenandoahVerify TestAllocIntArrays
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahAllocFailureALot -XX:+ShenandoahVerify TestAllocIntArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahAllocFailureALot -XX:+ShenandoahVerify TestAllocIntArrays
|
||||||
|
@ -39,10 +39,10 @@
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive TestAllocIntArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive TestAllocIntArrays
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify TestAllocIntArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify TestAllocIntArrays
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=traversal -XX:+ShenandoahVerify TestAllocIntArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=traversal -XX:+ShenandoahVerify TestAllocIntArrays
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive TestAllocIntArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive TestAllocIntArrays
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=traversal TestAllocIntArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=traversal TestAllocIntArrays
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=static TestAllocIntArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=static TestAllocIntArrays
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=compact TestAllocIntArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=compact TestAllocIntArrays
|
||||||
*
|
*
|
||||||
|
|
|
@ -27,10 +27,10 @@
|
||||||
* @key gc
|
* @key gc
|
||||||
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestAllocObjectArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestAllocObjectArrays
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestAllocObjectArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestAllocObjectArrays
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC TestAllocObjectArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC TestAllocObjectArrays
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC TestAllocObjectArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC TestAllocObjectArrays
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot -XX:+ShenandoahVerify TestAllocObjectArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot -XX:+ShenandoahVerify TestAllocObjectArrays
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahAllocFailureALot -XX:+ShenandoahVerify TestAllocObjectArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahAllocFailureALot -XX:+ShenandoahVerify TestAllocObjectArrays
|
||||||
|
@ -39,12 +39,12 @@
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive TestAllocObjectArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive TestAllocObjectArrays
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify TestAllocObjectArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify TestAllocObjectArrays
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=traversal -XX:+ShenandoahVerify TestAllocObjectArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=traversal -XX:+ShenandoahVerify TestAllocObjectArrays
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive TestAllocObjectArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive TestAllocObjectArrays
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=static TestAllocObjectArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=static TestAllocObjectArrays
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=compact TestAllocObjectArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=compact TestAllocObjectArrays
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=traversal TestAllocObjectArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=traversal TestAllocObjectArrays
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:-UseTLAB -XX:+ShenandoahVerify TestAllocObjectArrays
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:-UseTLAB -XX:+ShenandoahVerify TestAllocObjectArrays
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -27,10 +27,10 @@
|
||||||
* @key gc
|
* @key gc
|
||||||
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestAllocObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestAllocObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestAllocObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestAllocObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC TestAllocObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC TestAllocObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC TestAllocObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC TestAllocObjects
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot -XX:+ShenandoahVerify TestAllocObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot -XX:+ShenandoahVerify TestAllocObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahAllocFailureALot -XX:+ShenandoahVerify TestAllocObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahAllocFailureALot -XX:+ShenandoahVerify TestAllocObjects
|
||||||
|
@ -39,17 +39,17 @@
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive TestAllocObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive TestAllocObjects
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify TestAllocObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify TestAllocObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=traversal -XX:+ShenandoahVerify TestAllocObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=traversal -XX:+ShenandoahVerify TestAllocObjects
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive TestAllocObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive TestAllocObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=static TestAllocObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=static TestAllocObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=compact TestAllocObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=compact TestAllocObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=traversal TestAllocObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=traversal TestAllocObjects
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahSuspendibleWorkers TestAllocObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahSuspendibleWorkers TestAllocObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=static -XX:+ShenandoahSuspendibleWorkers TestAllocObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=static -XX:+ShenandoahSuspendibleWorkers TestAllocObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=compact -XX:+ShenandoahSuspendibleWorkers TestAllocObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=compact -XX:+ShenandoahSuspendibleWorkers TestAllocObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=traversal -XX:+ShenandoahSuspendibleWorkers TestAllocObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=traversal -XX:+ShenandoahSuspendibleWorkers TestAllocObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahSuspendibleWorkers TestAllocObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahSuspendibleWorkers TestAllocObjects
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -30,18 +30,18 @@
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=2 -XX:ParallelGCThreads=4 -Xmx16m -Dtarget=1000 TestGCThreadGroups
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=2 -XX:ParallelGCThreads=4 -Xmx16m -Dtarget=1000 TestGCThreadGroups
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:-UseDynamicNumberOfGCThreads -Xmx16m -Dtarget=1000 TestGCThreadGroups
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:-UseDynamicNumberOfGCThreads -Xmx16m -Dtarget=1000 TestGCThreadGroups
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UnlockDiagnosticVMOptions -XX:+ForceDynamicNumberOfGCThreads -Xmx16m -Dtarget=1000 TestGCThreadGroups
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UnlockDiagnosticVMOptions -XX:+ForceDynamicNumberOfGCThreads -Xmx16m -Dtarget=1000 TestGCThreadGroups
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=2 -XX:ParallelGCThreads=4 -Xmx16m -XX:ShenandoahGCHeuristics=passive -Dtarget=1000 TestGCThreadGroups
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=2 -XX:ParallelGCThreads=4 -Xmx16m -XX:ShenandoahGCMode=passive -Dtarget=1000 TestGCThreadGroups
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=2 -XX:ParallelGCThreads=4 -Xmx16m -XX:ShenandoahGCHeuristics=adaptive -Dtarget=1000 TestGCThreadGroups
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=2 -XX:ParallelGCThreads=4 -Xmx16m -XX:ShenandoahGCHeuristics=adaptive -Dtarget=1000 TestGCThreadGroups
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=2 -XX:ParallelGCThreads=4 -Xmx16m -XX:ShenandoahGCHeuristics=static -Dtarget=1000 TestGCThreadGroups
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=2 -XX:ParallelGCThreads=4 -Xmx16m -XX:ShenandoahGCHeuristics=static -Dtarget=1000 TestGCThreadGroups
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=2 -XX:ParallelGCThreads=4 -Xmx16m -XX:ShenandoahGCHeuristics=compact -Dtarget=100 TestGCThreadGroups
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=2 -XX:ParallelGCThreads=4 -Xmx16m -XX:ShenandoahGCHeuristics=compact -Dtarget=100 TestGCThreadGroups
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=2 -XX:ParallelGCThreads=4 -Xmx16m -XX:ShenandoahGCHeuristics=aggressive -Dtarget=100 TestGCThreadGroups
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=2 -XX:ParallelGCThreads=4 -Xmx16m -XX:ShenandoahGCHeuristics=aggressive -Dtarget=100 TestGCThreadGroups
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=2 -XX:ParallelGCThreads=4 -Xmx16m -XX:ShenandoahGCHeuristics=traversal -Dtarget=1000 TestGCThreadGroups
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=2 -XX:ParallelGCThreads=4 -Xmx16m -XX:ShenandoahGCMode=traversal -Dtarget=1000 TestGCThreadGroups
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=4 -XX:ParallelGCThreads=2 -Xmx16m -XX:ShenandoahGCHeuristics=passive -Dtarget=1000 TestGCThreadGroups
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=4 -XX:ParallelGCThreads=2 -Xmx16m -XX:ShenandoahGCMode=passive -Dtarget=1000 TestGCThreadGroups
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=4 -XX:ParallelGCThreads=2 -Xmx16m -XX:ShenandoahGCHeuristics=adaptive -Dtarget=1000 TestGCThreadGroups
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=4 -XX:ParallelGCThreads=2 -Xmx16m -XX:ShenandoahGCHeuristics=adaptive -Dtarget=1000 TestGCThreadGroups
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=4 -XX:ParallelGCThreads=2 -Xmx16m -XX:ShenandoahGCHeuristics=static -Dtarget=1000 TestGCThreadGroups
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=4 -XX:ParallelGCThreads=2 -Xmx16m -XX:ShenandoahGCHeuristics=static -Dtarget=1000 TestGCThreadGroups
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=4 -XX:ParallelGCThreads=2 -Xmx16m -XX:ShenandoahGCHeuristics=compact -Dtarget=100 TestGCThreadGroups
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=4 -XX:ParallelGCThreads=2 -Xmx16m -XX:ShenandoahGCHeuristics=compact -Dtarget=100 TestGCThreadGroups
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=4 -XX:ParallelGCThreads=2 -Xmx16m -XX:ShenandoahGCHeuristics=aggressive -Dtarget=100 TestGCThreadGroups
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=4 -XX:ParallelGCThreads=2 -Xmx16m -XX:ShenandoahGCHeuristics=aggressive -Dtarget=100 TestGCThreadGroups
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=4 -XX:ParallelGCThreads=2 -Xmx16m -XX:ShenandoahGCHeuristics=traversal -Dtarget=1000 TestGCThreadGroups
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ConcGCThreads=4 -XX:ParallelGCThreads=2 -Xmx16m -XX:ShenandoahGCMode=traversal -Dtarget=1000 TestGCThreadGroups
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class TestGCThreadGroups {
|
public class TestGCThreadGroups {
|
||||||
|
|
|
@ -27,15 +27,15 @@
|
||||||
* @key gc
|
* @key gc
|
||||||
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestHeapUncommit
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestHeapUncommit
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestHeapUncommit
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestHeapUncommit
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC TestHeapUncommit
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC TestHeapUncommit
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC TestHeapUncommit
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC TestHeapUncommit
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:+ShenandoahVerify TestHeapUncommit
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:+ShenandoahVerify TestHeapUncommit
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify TestHeapUncommit
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify TestHeapUncommit
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCHeuristics=static -XX:+ShenandoahVerify TestHeapUncommit
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCHeuristics=static -XX:+ShenandoahVerify TestHeapUncommit
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCHeuristics=traversal -XX:+ShenandoahVerify TestHeapUncommit
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCMode=traversal -XX:+ShenandoahVerify TestHeapUncommit
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:-UseTLAB -XX:+ShenandoahVerify TestHeapUncommit
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:-UseTLAB -XX:+ShenandoahVerify TestHeapUncommit
|
||||||
*
|
*
|
||||||
|
@ -45,7 +45,7 @@
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCHeuristics=static TestHeapUncommit
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCHeuristics=static TestHeapUncommit
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCHeuristics=compact TestHeapUncommit
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCHeuristics=compact TestHeapUncommit
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCHeuristics=aggressive TestHeapUncommit
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCHeuristics=aggressive TestHeapUncommit
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCHeuristics=traversal TestHeapUncommit
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 -XX:ShenandoahGCMode=traversal TestHeapUncommit
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -26,15 +26,15 @@
|
||||||
* @key gc
|
* @key gc
|
||||||
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
||||||
*
|
*
|
||||||
* @run main/othervm/timeout=480 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16m -XX:ShenandoahGCHeuristics=passive -Dtarget=10000 -XX:+ShenandoahDegeneratedGC TestLotsOfCycles
|
* @run main/othervm/timeout=480 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16m -XX:ShenandoahGCMode=passive -Dtarget=10000 -XX:+ShenandoahDegeneratedGC TestLotsOfCycles
|
||||||
* @run main/othervm/timeout=480 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16m -XX:ShenandoahGCHeuristics=passive -Dtarget=10000 -XX:-ShenandoahDegeneratedGC TestLotsOfCycles
|
* @run main/othervm/timeout=480 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16m -XX:ShenandoahGCMode=passive -Dtarget=10000 -XX:-ShenandoahDegeneratedGC TestLotsOfCycles
|
||||||
*
|
*
|
||||||
* @run main/othervm/timeout=480 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16m -XX:ShenandoahGCHeuristics=aggressive -Dtarget=1000 -XX:+ShenandoahOOMDuringEvacALot TestLotsOfCycles
|
* @run main/othervm/timeout=480 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16m -XX:ShenandoahGCHeuristics=aggressive -Dtarget=1000 -XX:+ShenandoahOOMDuringEvacALot TestLotsOfCycles
|
||||||
* @run main/othervm/timeout=480 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16m -XX:ShenandoahGCHeuristics=aggressive -Dtarget=1000 -XX:+ShenandoahAllocFailureALot TestLotsOfCycles
|
* @run main/othervm/timeout=480 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16m -XX:ShenandoahGCHeuristics=aggressive -Dtarget=1000 -XX:+ShenandoahAllocFailureALot TestLotsOfCycles
|
||||||
* @run main/othervm/timeout=480 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16m -XX:ShenandoahGCHeuristics=aggressive -Dtarget=1000 TestLotsOfCycles
|
* @run main/othervm/timeout=480 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16m -XX:ShenandoahGCHeuristics=aggressive -Dtarget=1000 TestLotsOfCycles
|
||||||
*
|
*
|
||||||
* @run main/othervm/timeout=480 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16m -XX:ShenandoahGCHeuristics=adaptive -Dtarget=10000 TestLotsOfCycles
|
* @run main/othervm/timeout=480 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16m -XX:ShenandoahGCHeuristics=adaptive -Dtarget=10000 TestLotsOfCycles
|
||||||
* @run main/othervm/timeout=480 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16m -XX:ShenandoahGCHeuristics=traversal -Dtarget=10000 TestLotsOfCycles
|
* @run main/othervm/timeout=480 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16m -XX:ShenandoahGCMode=traversal -Dtarget=10000 TestLotsOfCycles
|
||||||
*
|
*
|
||||||
* @run main/othervm/timeout=480 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16m -XX:ShenandoahGCHeuristics=static -Dtarget=10000 TestLotsOfCycles
|
* @run main/othervm/timeout=480 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16m -XX:ShenandoahGCHeuristics=static -Dtarget=10000 TestLotsOfCycles
|
||||||
* @run main/othervm/timeout=480 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16m -XX:ShenandoahGCHeuristics=compact -Dtarget=1000 TestLotsOfCycles
|
* @run main/othervm/timeout=480 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16m -XX:ShenandoahGCHeuristics=compact -Dtarget=1000 TestLotsOfCycles
|
||||||
|
|
|
@ -55,20 +55,21 @@ public class TestObjItrWithHeapDump {
|
||||||
System.exit(0);
|
System.exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
String[] heuristics = new String[] {
|
String[][][] modeHeuristics = new String[][][] {
|
||||||
"adaptive",
|
{{"normal"}, {"adaptive", "compact", "static", "aggressive"}},
|
||||||
"compact",
|
{{"traversal"}, {"adaptive"}},
|
||||||
"static",
|
{{"passive"}, {"passive"}}
|
||||||
"aggressive",
|
|
||||||
"passive",
|
|
||||||
"traversal",
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
for (String[][] mh : modeHeuristics) {
|
||||||
|
String mode = mh[0][0];
|
||||||
|
String[] heuristics = mh[1];
|
||||||
for (String h : heuristics) {
|
for (String h : heuristics) {
|
||||||
testWith("-XX:+UnlockDiagnosticVMOptions",
|
testWith("-XX:+UnlockDiagnosticVMOptions",
|
||||||
"-XX:+UnlockExperimentalVMOptions",
|
"-XX:+UnlockExperimentalVMOptions",
|
||||||
"-XX:+UseShenandoahGC",
|
"-XX:+UseShenandoahGC",
|
||||||
"-XX:-ShenandoahDegeneratedGC",
|
"-XX:-ShenandoahDegeneratedGC",
|
||||||
|
"-XX:ShenandoahGCMode=" + mode,
|
||||||
"-XX:ShenandoahGCHeuristics=" + h,
|
"-XX:ShenandoahGCHeuristics=" + h,
|
||||||
"-Xlog:gc+classhisto=trace",
|
"-Xlog:gc+classhisto=trace",
|
||||||
"-XX:-ExplicitGCInvokesConcurrent",
|
"-XX:-ExplicitGCInvokesConcurrent",
|
||||||
|
@ -76,4 +77,5 @@ public class TestObjItrWithHeapDump {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,12 +64,6 @@ public class TestPeriodicGC {
|
||||||
"adaptive",
|
"adaptive",
|
||||||
"compact",
|
"compact",
|
||||||
"static",
|
"static",
|
||||||
"traversal",
|
|
||||||
};
|
|
||||||
|
|
||||||
String[] disabled = new String[] {
|
|
||||||
"aggressive",
|
|
||||||
"passive",
|
|
||||||
};
|
};
|
||||||
|
|
||||||
for (String h : enabled) {
|
for (String h : enabled) {
|
||||||
|
@ -94,17 +88,44 @@ public class TestPeriodicGC {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (String h : disabled) {
|
testWith("Short period with traversal mode",
|
||||||
testWith("Short period with " + h,
|
true,
|
||||||
|
"-Xlog:gc",
|
||||||
|
"-XX:+UnlockDiagnosticVMOptions",
|
||||||
|
"-XX:+UnlockExperimentalVMOptions",
|
||||||
|
"-XX:+UseShenandoahGC",
|
||||||
|
"-XX:ShenandoahGCMode=traversal",
|
||||||
|
"-XX:ShenandoahGuaranteedGCInterval=1000"
|
||||||
|
);
|
||||||
|
|
||||||
|
testWith("Long period with traversal mode",
|
||||||
false,
|
false,
|
||||||
"-Xlog:gc",
|
"-Xlog:gc",
|
||||||
"-XX:+UnlockDiagnosticVMOptions",
|
"-XX:+UnlockDiagnosticVMOptions",
|
||||||
"-XX:+UnlockExperimentalVMOptions",
|
"-XX:+UnlockExperimentalVMOptions",
|
||||||
"-XX:+UseShenandoahGC",
|
"-XX:+UseShenandoahGC",
|
||||||
"-XX:ShenandoahGCHeuristics=" + h,
|
"-XX:ShenandoahGCMode=traversal",
|
||||||
|
"-XX:ShenandoahGuaranteedGCInterval=100000" // deliberately too long
|
||||||
|
);
|
||||||
|
|
||||||
|
testWith("Short period with aggressive",
|
||||||
|
false,
|
||||||
|
"-Xlog:gc",
|
||||||
|
"-XX:+UnlockDiagnosticVMOptions",
|
||||||
|
"-XX:+UnlockExperimentalVMOptions",
|
||||||
|
"-XX:+UseShenandoahGC",
|
||||||
|
"-XX:ShenandoahGCHeuristics=aggressive",
|
||||||
|
"-XX:ShenandoahGuaranteedGCInterval=1000"
|
||||||
|
);
|
||||||
|
testWith("Short period with passive",
|
||||||
|
false,
|
||||||
|
"-Xlog:gc",
|
||||||
|
"-XX:+UnlockDiagnosticVMOptions",
|
||||||
|
"-XX:+UnlockExperimentalVMOptions",
|
||||||
|
"-XX:+UseShenandoahGC",
|
||||||
|
"-XX:ShenandoahGCMode=passive",
|
||||||
"-XX:ShenandoahGuaranteedGCInterval=1000"
|
"-XX:ShenandoahGuaranteedGCInterval=1000"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,8 +30,8 @@
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g TestRefprocSanity
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g TestRefprocSanity
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:+ShenandoahVerify TestRefprocSanity
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:+ShenandoahVerify TestRefprocSanity
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive TestRefprocSanity
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive TestRefprocSanity
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:+ShenandoahVerify -XX:ShenandoahGCHeuristics=traversal TestRefprocSanity
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:+ShenandoahVerify -XX:ShenandoahGCMode=traversal TestRefprocSanity
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=traversal TestRefprocSanity
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=traversal TestRefprocSanity
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.lang.ref.*;
|
import java.lang.ref.*;
|
||||||
|
|
|
@ -26,15 +26,15 @@
|
||||||
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:+ShenandoahRegionSampling TestRegionSampling
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:+ShenandoahRegionSampling TestRegionSampling
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahRegionSampling TestRegionSampling
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:+ShenandoahRegionSampling TestRegionSampling
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahRegionSampling TestRegionSampling
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahRegionSampling TestRegionSampling
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=static -XX:+ShenandoahRegionSampling TestRegionSampling
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=static -XX:+ShenandoahRegionSampling TestRegionSampling
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=compact -XX:+ShenandoahRegionSampling TestRegionSampling
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=compact -XX:+ShenandoahRegionSampling TestRegionSampling
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahRegionSampling TestRegionSampling
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahRegionSampling TestRegionSampling
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=traversal -XX:+ShenandoahRegionSampling TestRegionSampling
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=traversal -XX:+ShenandoahRegionSampling TestRegionSampling
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahRegionSampling TestRegionSampling
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahRegionSampling TestRegionSampling
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahRegionSampling TestRegionSampling
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahRegionSampling TestRegionSampling
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class TestRegionSampling {
|
public class TestRegionSampling {
|
||||||
|
|
|
@ -27,22 +27,22 @@
|
||||||
* @key gc
|
* @key gc
|
||||||
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestRetainObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestRetainObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestRetainObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestRetainObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC TestRetainObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC TestRetainObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC TestRetainObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC TestRetainObjects
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot TestRetainObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot TestRetainObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahAllocFailureALot TestRetainObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahAllocFailureALot TestRetainObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive TestRetainObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive TestRetainObjects
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify TestRetainObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify TestRetainObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=traversal -XX:+ShenandoahVerify TestRetainObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=traversal -XX:+ShenandoahVerify TestRetainObjects
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive TestRetainObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive TestRetainObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=static TestRetainObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=static TestRetainObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=compact TestRetainObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=compact TestRetainObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=traversal TestRetainObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=traversal TestRetainObjects
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:-UseTLAB -XX:+ShenandoahVerify TestRetainObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:-UseTLAB -XX:+ShenandoahVerify TestRetainObjects
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -27,22 +27,22 @@
|
||||||
* @key gc
|
* @key gc
|
||||||
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestSieveObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestSieveObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestSieveObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestSieveObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC TestSieveObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC TestSieveObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC TestSieveObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC TestSieveObjects
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot TestSieveObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot TestSieveObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahAllocFailureALot TestSieveObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahAllocFailureALot TestSieveObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive TestSieveObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=aggressive TestSieveObjects
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify TestSieveObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify TestSieveObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=traversal -XX:+ShenandoahVerify TestSieveObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=traversal -XX:+ShenandoahVerify TestSieveObjects
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive TestSieveObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=adaptive TestSieveObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=static TestSieveObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=static TestSieveObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=compact TestSieveObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=compact TestSieveObjects
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCHeuristics=traversal TestSieveObjects
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:ShenandoahGCMode=traversal TestSieveObjects
|
||||||
*
|
*
|
||||||
* @run main/othervm/timeout=240 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:-UseTLAB -XX:+ShenandoahVerify TestSieveObjects
|
* @run main/othervm/timeout=240 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx1g -Xms1g -XX:-UseTLAB -XX:+ShenandoahVerify TestSieveObjects
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,13 +30,13 @@
|
||||||
* @modules java.base/jdk.internal.misc:open
|
* @modules java.base/jdk.internal.misc:open
|
||||||
* @modules java.base/java.lang:open
|
* @modules java.base/java.lang:open
|
||||||
* java.management
|
* java.management
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC -XX:+UseStringDeduplication -Xmx256M -Xlog:gc+stats TestStringDedup
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC -XX:+UseStringDeduplication -Xmx256M -Xlog:gc+stats TestStringDedup
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC -XX:+UseStringDeduplication -Xmx256M -Xlog:gc+stats TestStringDedup
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC -XX:+UseStringDeduplication -Xmx256M -Xlog:gc+stats TestStringDedup
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive -XX:+UseStringDeduplication -Xmx256M -Xlog:gc+stats TestStringDedup
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive -XX:+UseStringDeduplication -Xmx256M -Xlog:gc+stats TestStringDedup
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx256M -Xlog:gc+stats TestStringDedup
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx256M -Xlog:gc+stats TestStringDedup
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=traversal -XX:+UseStringDeduplication -Xmx256M -Xlog:gc+stats TestStringDedup
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=traversal -XX:+UseStringDeduplication -Xmx256M -Xlog:gc+stats TestStringDedup
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact -XX:+UseStringDeduplication -Xmx256M -Xlog:gc+stats TestStringDedup
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact -XX:+UseStringDeduplication -Xmx256M -Xlog:gc+stats TestStringDedup
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -56,17 +56,17 @@
|
||||||
* TestStringDedupStress
|
* TestStringDedupStress
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
|
||||||
* -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC
|
* -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC
|
||||||
* -Xlog:gc
|
* -Xlog:gc
|
||||||
* TestStringDedupStress
|
* TestStringDedupStress
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
|
||||||
* -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC
|
* -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC
|
||||||
* -Xlog:gc
|
* -Xlog:gc
|
||||||
* TestStringDedupStress
|
* TestStringDedupStress
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
|
||||||
* -XX:ShenandoahGCHeuristics=traversal
|
* -XX:ShenandoahGCMode=traversal
|
||||||
* -Xlog:gc
|
* -Xlog:gc
|
||||||
* TestStringDedupStress
|
* TestStringDedupStress
|
||||||
*
|
*
|
||||||
|
@ -96,7 +96,7 @@
|
||||||
* TestStringDedupStress
|
* TestStringDedupStress
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
|
||||||
* -XX:ShenandoahGCHeuristics=traversal -XX:+ShenandoahOOMDuringEvacALot -DtargetStrings=2000000
|
* -XX:ShenandoahGCMode=traversal -XX:+ShenandoahOOMDuringEvacALot -DtargetStrings=2000000
|
||||||
* -Xlog:gc
|
* -Xlog:gc
|
||||||
* TestStringDedupStress
|
* TestStringDedupStress
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -27,20 +27,20 @@
|
||||||
* @key gc
|
* @key gc
|
||||||
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestStringInternCleanup
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestStringInternCleanup
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestStringInternCleanup
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify TestStringInternCleanup
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC TestStringInternCleanup
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC TestStringInternCleanup
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC TestStringInternCleanup
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC TestStringInternCleanup
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCHeuristics=aggressive TestStringInternCleanup
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCHeuristics=aggressive TestStringInternCleanup
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify TestStringInternCleanup
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify TestStringInternCleanup
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCHeuristics=traversal -XX:+ShenandoahVerify TestStringInternCleanup
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCMode=traversal -XX:+ShenandoahVerify TestStringInternCleanup
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCHeuristics=adaptive TestStringInternCleanup
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCHeuristics=adaptive TestStringInternCleanup
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCHeuristics=static TestStringInternCleanup
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCHeuristics=static TestStringInternCleanup
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCHeuristics=compact TestStringInternCleanup
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCHeuristics=compact TestStringInternCleanup
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCHeuristics=traversal TestStringInternCleanup
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ClassUnloadingWithConcurrentMark -Xmx64m -XX:ShenandoahGCMode=traversal TestStringInternCleanup
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:-ClassUnloadingWithConcurrentMark -Xmx64m TestStringInternCleanup
|
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:-ClassUnloadingWithConcurrentMark -Xmx64m TestStringInternCleanup
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -31,13 +31,13 @@
|
||||||
* @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions
|
* @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions
|
||||||
* -XX:+UseShenandoahGC -Xmx1g -Xms1g
|
* -XX:+UseShenandoahGC -Xmx1g -Xms1g
|
||||||
* -XX:+ShenandoahVerify -XX:+VerifyObjectEquals
|
* -XX:+ShenandoahVerify -XX:+VerifyObjectEquals
|
||||||
* -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC
|
* -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC
|
||||||
* TestVerifyJCStress
|
* TestVerifyJCStress
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions
|
* @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions
|
||||||
* -XX:+UseShenandoahGC -Xmx1g -Xms1g
|
* -XX:+UseShenandoahGC -Xmx1g -Xms1g
|
||||||
* -XX:+ShenandoahVerify -XX:+VerifyObjectEquals
|
* -XX:+ShenandoahVerify -XX:+VerifyObjectEquals
|
||||||
* -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC
|
* -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC
|
||||||
* TestVerifyJCStress
|
* TestVerifyJCStress
|
||||||
*
|
*
|
||||||
* @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions
|
* @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions
|
||||||
|
@ -55,7 +55,7 @@
|
||||||
* @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions
|
* @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions
|
||||||
* -XX:+UseShenandoahGC -Xmx1g -Xms1g
|
* -XX:+UseShenandoahGC -Xmx1g -Xms1g
|
||||||
* -XX:+ShenandoahVerify -XX:+VerifyObjectEquals -XX:+ShenandoahVerifyOptoBarriers
|
* -XX:+ShenandoahVerify -XX:+VerifyObjectEquals -XX:+ShenandoahVerifyOptoBarriers
|
||||||
* -XX:ShenandoahGCHeuristics=traversal
|
* -XX:ShenandoahGCMode=traversal
|
||||||
* TestVerifyJCStress
|
* TestVerifyJCStress
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
||||||
*
|
*
|
||||||
* @run main/othervm -Xmx128m -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC TestWrongArrayMember
|
* @run main/othervm -Xmx128m -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC TestWrongArrayMember
|
||||||
* @run main/othervm -Xmx128m -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=traversal TestWrongArrayMember
|
* @run main/othervm -Xmx128m -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=traversal TestWrongArrayMember
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class TestWrongArrayMember {
|
public class TestWrongArrayMember {
|
||||||
|
|
|
@ -26,8 +26,8 @@
|
||||||
* @key gc
|
* @key gc
|
||||||
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
||||||
*
|
*
|
||||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx512m -XX:+ShenandoahVerify -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC TestPinnedGarbage
|
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx512m -XX:+ShenandoahVerify -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC TestPinnedGarbage
|
||||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx512m -XX:+ShenandoahVerify -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC TestPinnedGarbage
|
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx512m -XX:+ShenandoahVerify -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC TestPinnedGarbage
|
||||||
*
|
*
|
||||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx512m -XX:ShenandoahGCHeuristics=aggressive TestPinnedGarbage
|
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx512m -XX:ShenandoahGCHeuristics=aggressive TestPinnedGarbage
|
||||||
*
|
*
|
||||||
|
|
|
@ -26,15 +26,15 @@
|
||||||
* @summary Check that MX notifications are reported for all cycles
|
* @summary Check that MX notifications are reported for all cycles
|
||||||
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
||||||
*
|
*
|
||||||
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC -Dprecise=true TestChurnNotifications
|
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC -Dprecise=true TestChurnNotifications
|
||||||
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC -Dprecise=true TestChurnNotifications
|
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC -Dprecise=true TestChurnNotifications
|
||||||
*
|
*
|
||||||
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive -Dprecise=false TestChurnNotifications
|
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive -Dprecise=false TestChurnNotifications
|
||||||
*
|
*
|
||||||
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive -Dprecise=false TestChurnNotifications
|
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive -Dprecise=false TestChurnNotifications
|
||||||
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=static -Dprecise=false TestChurnNotifications
|
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=static -Dprecise=false TestChurnNotifications
|
||||||
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact -Dprecise=false TestChurnNotifications
|
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact -Dprecise=false TestChurnNotifications
|
||||||
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=traversal -Dprecise=false TestChurnNotifications
|
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=traversal -Dprecise=false TestChurnNotifications
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
|
@ -27,15 +27,15 @@
|
||||||
* @key gc
|
* @key gc
|
||||||
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
||||||
*
|
*
|
||||||
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC TestPauseNotifications
|
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC TestPauseNotifications
|
||||||
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC TestPauseNotifications
|
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC TestPauseNotifications
|
||||||
*
|
*
|
||||||
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive TestPauseNotifications
|
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive TestPauseNotifications
|
||||||
*
|
*
|
||||||
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive TestPauseNotifications
|
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive TestPauseNotifications
|
||||||
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=static TestPauseNotifications
|
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=static TestPauseNotifications
|
||||||
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact TestPauseNotifications
|
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact TestPauseNotifications
|
||||||
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=traversal TestPauseNotifications
|
* @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=traversal TestPauseNotifications
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
|
@ -124,30 +124,31 @@ public class TestClassLoaderLeak {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
String[] heuristics = new String[] {
|
String[][][] modeHeuristics = new String[][][] {
|
||||||
"adaptive",
|
{{"normal"}, {"adaptive", "compact", "static", "aggressive"}},
|
||||||
"compact",
|
{{"traversal"}, {"adaptive"}},
|
||||||
"static",
|
{{"passive"}, {"passive"}}
|
||||||
"traversal",
|
|
||||||
"aggressive",
|
|
||||||
"passive",
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
for (String[][] mh : modeHeuristics) {
|
||||||
|
String mode = mh[0][0];
|
||||||
|
String[] heuristics = mh[1];
|
||||||
for (String h : heuristics) {
|
for (String h : heuristics) {
|
||||||
// Forceful enabling should work
|
// Forceful enabling should work
|
||||||
passWith("-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloading");
|
passWith("-XX:ShenandoahGCMode=" + mode, "-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloading");
|
||||||
passWith("-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloadingWithConcurrentMark");
|
passWith("-XX:ShenandoahGCMode=" + mode, "-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloadingWithConcurrentMark");
|
||||||
|
|
||||||
// Even when concurrent unloading is disabled, Full GC has to recover
|
// Even when concurrent unloading is disabled, Full GC has to recover
|
||||||
passWith("-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloading", "-XX:-ClassUnloadingWithConcurrentMark");
|
passWith("-XX:ShenandoahGCMode=" + mode, "-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloading", "-XX:-ClassUnloadingWithConcurrentMark");
|
||||||
passWith("-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloading", "-XX:-ClassUnloadingWithConcurrentMark", "-XX:ShenandoahUnloadClassesFrequency=0");
|
passWith("-XX:ShenandoahGCMode=" + mode, "-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloading", "-XX:-ClassUnloadingWithConcurrentMark", "-XX:ShenandoahUnloadClassesFrequency=0");
|
||||||
passWith("-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloading", "-XX:+ClassUnloadingWithConcurrentMark", "-XX:ShenandoahUnloadClassesFrequency=0");
|
passWith("-XX:ShenandoahGCMode=" + mode, "-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloading", "-XX:+ClassUnloadingWithConcurrentMark", "-XX:ShenandoahUnloadClassesFrequency=0");
|
||||||
|
|
||||||
// Should OOME when unloading forcefully disabled, even if local flags try to enable it back
|
// Should OOME when unloading forcefully disabled, even if local flags try to enable it back
|
||||||
failWith("-XX:ShenandoahGCHeuristics=" + h, "-XX:-ClassUnloading");
|
failWith("-XX:ShenandoahGCMode=" + mode, "-XX:ShenandoahGCHeuristics=" + h, "-XX:-ClassUnloading");
|
||||||
failWith("-XX:ShenandoahGCHeuristics=" + h, "-XX:-ClassUnloading", "-XX:+ClassUnloadingWithConcurrentMark");
|
failWith("-XX:ShenandoahGCMode=" + mode, "-XX:ShenandoahGCHeuristics=" + h, "-XX:-ClassUnloading", "-XX:+ClassUnloadingWithConcurrentMark");
|
||||||
failWith("-XX:ShenandoahGCHeuristics=" + h, "-XX:-ClassUnloading", "-XX:+ClassUnloadingWithConcurrentMark", "-XX:ShenandoahUnloadClassesFrequency=1");
|
failWith("-XX:ShenandoahGCMode=" + mode, "-XX:ShenandoahGCHeuristics=" + h, "-XX:-ClassUnloading", "-XX:+ClassUnloadingWithConcurrentMark", "-XX:ShenandoahUnloadClassesFrequency=1");
|
||||||
failWith("-XX:ShenandoahGCHeuristics=" + h, "-XX:-ClassUnloading", "-XX:-ClassUnloadingWithConcurrentMark", "-XX:ShenandoahUnloadClassesFrequency=1");
|
failWith("-XX:ShenandoahGCMode=" + mode, "-XX:ShenandoahGCHeuristics=" + h, "-XX:-ClassUnloading", "-XX:-ClassUnloadingWithConcurrentMark", "-XX:ShenandoahUnloadClassesFrequency=1");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -129,7 +129,7 @@ public class TestExplicitGC {
|
||||||
"-XX:+UseShenandoahGC",
|
"-XX:+UseShenandoahGC",
|
||||||
"-Xlog:gc",
|
"-Xlog:gc",
|
||||||
"-XX:+ExplicitGCInvokesConcurrent",
|
"-XX:+ExplicitGCInvokesConcurrent",
|
||||||
"-XX:ShenandoahGCHeuristics=traversal",
|
"-XX:ShenandoahGCMode=traversal",
|
||||||
TestExplicitGC.class.getName(),
|
TestExplicitGC.class.getName(),
|
||||||
"test");
|
"test");
|
||||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||||
|
|
|
@ -44,14 +44,14 @@ public class TestHeuristicsUnlock {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) throws Exception {
|
public static void main(String[] args) throws Exception {
|
||||||
testWith("adaptive", Mode.PRODUCT);
|
testWith("-XX:ShenandoahGCHeuristics=adaptive", Mode.PRODUCT);
|
||||||
testWith("static", Mode.PRODUCT);
|
testWith("-XX:ShenandoahGCHeuristics=static", Mode.PRODUCT);
|
||||||
testWith("compact", Mode.PRODUCT);
|
testWith("-XX:ShenandoahGCHeuristics=compact", Mode.PRODUCT);
|
||||||
|
|
||||||
testWith("traversal", Mode.EXPERIMENTAL);
|
testWith("-XX:ShenandoahGCMode=traversal", Mode.EXPERIMENTAL);
|
||||||
|
|
||||||
testWith("aggressive", Mode.DIAGNOSTIC);
|
testWith("-XX:ShenandoahGCHeuristics=aggressive", Mode.DIAGNOSTIC);
|
||||||
testWith("passive", Mode.DIAGNOSTIC);
|
testWith("-XX:ShenandoahGCHeuristics=passive", Mode.DIAGNOSTIC);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void testWith(String h, Mode mode) throws Exception {
|
private static void testWith(String h, Mode mode) throws Exception {
|
||||||
|
@ -60,7 +60,7 @@ public class TestHeuristicsUnlock {
|
||||||
"-XX:-UnlockDiagnosticVMOptions",
|
"-XX:-UnlockDiagnosticVMOptions",
|
||||||
"-XX:-UnlockExperimentalVMOptions",
|
"-XX:-UnlockExperimentalVMOptions",
|
||||||
"-XX:+UseShenandoahGC",
|
"-XX:+UseShenandoahGC",
|
||||||
"-XX:ShenandoahGCHeuristics=" + h,
|
h,
|
||||||
"-version"
|
"-version"
|
||||||
);
|
);
|
||||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||||
|
@ -80,7 +80,7 @@ public class TestHeuristicsUnlock {
|
||||||
"-XX:+UnlockDiagnosticVMOptions",
|
"-XX:+UnlockDiagnosticVMOptions",
|
||||||
"-XX:-UnlockExperimentalVMOptions",
|
"-XX:-UnlockExperimentalVMOptions",
|
||||||
"-XX:+UseShenandoahGC",
|
"-XX:+UseShenandoahGC",
|
||||||
"-XX:ShenandoahGCHeuristics=" + h,
|
h,
|
||||||
"-version"
|
"-version"
|
||||||
);
|
);
|
||||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||||
|
@ -100,7 +100,7 @@ public class TestHeuristicsUnlock {
|
||||||
"-XX:-UnlockDiagnosticVMOptions",
|
"-XX:-UnlockDiagnosticVMOptions",
|
||||||
"-XX:+UnlockExperimentalVMOptions",
|
"-XX:+UnlockExperimentalVMOptions",
|
||||||
"-XX:+UseShenandoahGC",
|
"-XX:+UseShenandoahGC",
|
||||||
"-XX:ShenandoahGCHeuristics=" + h,
|
h,
|
||||||
"-version"
|
"-version"
|
||||||
);
|
);
|
||||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||||
|
|
|
@ -65,7 +65,7 @@ public class TestSelectiveBarrierFlags {
|
||||||
conf.add("-XX:+UnlockDiagnosticVMOptions");
|
conf.add("-XX:+UnlockDiagnosticVMOptions");
|
||||||
conf.add("-XX:+UnlockExperimentalVMOptions");
|
conf.add("-XX:+UnlockExperimentalVMOptions");
|
||||||
conf.add("-XX:+UseShenandoahGC");
|
conf.add("-XX:+UseShenandoahGC");
|
||||||
conf.add("-XX:ShenandoahGCHeuristics=passive");
|
conf.add("-XX:ShenandoahGCMode=passive");
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
for (String[] l : opts) {
|
for (String[] l : opts) {
|
||||||
|
|
|
@ -51,13 +51,13 @@ public class TestWrongBarrierDisable {
|
||||||
"ShenandoahCloneBarrier",
|
"ShenandoahCloneBarrier",
|
||||||
};
|
};
|
||||||
|
|
||||||
shouldFailAll("adaptive", concurrent);
|
shouldFailAll("-XX:ShenandoahGCHeuristics=adaptive", concurrent);
|
||||||
shouldFailAll("static", concurrent);
|
shouldFailAll("-XX:ShenandoahGCHeuristics=static", concurrent);
|
||||||
shouldFailAll("compact", concurrent);
|
shouldFailAll("-XX:ShenandoahGCHeuristics=compact", concurrent);
|
||||||
shouldFailAll("aggressive", concurrent);
|
shouldFailAll("-XX:ShenandoahGCHeuristics=aggressive", concurrent);
|
||||||
shouldFailAll("traversal", traversal);
|
shouldFailAll("-XX:ShenandoahGCMode=traversal", traversal);
|
||||||
shouldPassAll("passive", concurrent);
|
shouldPassAll("-XX:ShenandoahGCMode=passive", concurrent);
|
||||||
shouldPassAll("passive", traversal);
|
shouldPassAll("-XX:ShenandoahGCMode=passive", traversal);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void shouldFailAll(String h, String[] barriers) throws Exception {
|
private static void shouldFailAll(String h, String[] barriers) throws Exception {
|
||||||
|
@ -66,7 +66,7 @@ public class TestWrongBarrierDisable {
|
||||||
"-XX:+UnlockDiagnosticVMOptions",
|
"-XX:+UnlockDiagnosticVMOptions",
|
||||||
"-XX:+UnlockExperimentalVMOptions",
|
"-XX:+UnlockExperimentalVMOptions",
|
||||||
"-XX:+UseShenandoahGC",
|
"-XX:+UseShenandoahGC",
|
||||||
"-XX:ShenandoahGCHeuristics=" + h,
|
h,
|
||||||
"-XX:-" + b,
|
"-XX:-" + b,
|
||||||
"-version"
|
"-version"
|
||||||
);
|
);
|
||||||
|
@ -83,7 +83,7 @@ public class TestWrongBarrierDisable {
|
||||||
"-XX:+UnlockDiagnosticVMOptions",
|
"-XX:+UnlockDiagnosticVMOptions",
|
||||||
"-XX:+UnlockExperimentalVMOptions",
|
"-XX:+UnlockExperimentalVMOptions",
|
||||||
"-XX:+UseShenandoahGC",
|
"-XX:+UseShenandoahGC",
|
||||||
"-XX:ShenandoahGCHeuristics=" + h,
|
h,
|
||||||
"-XX:-" + b,
|
"-XX:-" + b,
|
||||||
"-version"
|
"-version"
|
||||||
);
|
);
|
||||||
|
|
|
@ -43,12 +43,12 @@ import gc.CriticalNative;
|
||||||
* @library /
|
* @library /
|
||||||
* @requires (os.arch =="x86_64" | os.arch == "amd64") & vm.gc.Shenandoah & !vm.graal.enabled
|
* @requires (os.arch =="x86_64" | os.arch == "amd64") & vm.gc.Shenandoah & !vm.graal.enabled
|
||||||
* @summary test argument pinning by nmethod wrapper of critical native method
|
* @summary test argument pinning by nmethod wrapper of critical native method
|
||||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.stress.CriticalNativeStress
|
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.stress.CriticalNativeStress
|
||||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.stress.CriticalNativeStress
|
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.stress.CriticalNativeStress
|
||||||
*
|
*
|
||||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.stress.CriticalNativeStress
|
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.stress.CriticalNativeStress
|
||||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xcomp -Xmx256M -XX:+CriticalJNINatives gc.stress.CriticalNativeStress
|
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xcomp -Xmx256M -XX:+CriticalJNINatives gc.stress.CriticalNativeStress
|
||||||
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=traversal -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.stress.CriticalNativeStress
|
* @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=traversal -Xcomp -Xmx512M -XX:+CriticalJNINatives gc.stress.CriticalNativeStress
|
||||||
*/
|
*/
|
||||||
public class CriticalNativeStress {
|
public class CriticalNativeStress {
|
||||||
private static Random rand = new Random();
|
private static Random rand = new Random();
|
||||||
|
|
|
@ -34,18 +34,18 @@ import java.io.IOException;
|
||||||
* @requires vm.flavor == "server" & !vm.emulatedClient & !vm.graal.enabled
|
* @requires vm.flavor == "server" & !vm.emulatedClient & !vm.graal.enabled
|
||||||
* @summary Stress the Shenandoah GC by trying to make old objects more likely to be garbage than young objects.
|
* @summary Stress the Shenandoah GC by trying to make old objects more likely to be garbage than young objects.
|
||||||
*
|
*
|
||||||
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahVerify -XX:+ShenandoahDegeneratedGC gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:+ShenandoahVerify -XX:+ShenandoahDegeneratedGC gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahVerify -XX:-ShenandoahDegeneratedGC gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:+ShenandoahVerify -XX:-ShenandoahDegeneratedGC gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
*
|
*
|
||||||
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahAllocFailureALot gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahAllocFailureALot gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
*
|
*
|
||||||
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=traversal -XX:+ShenandoahVerify gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=traversal -XX:+ShenandoahVerify gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
*
|
*
|
||||||
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=traversal gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=traversal gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
* @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact gc.stress.gcbasher.TestGCBasherWithShenandoah 120000
|
||||||
*/
|
*/
|
||||||
public class TestGCBasherWithShenandoah {
|
public class TestGCBasherWithShenandoah {
|
||||||
|
|
|
@ -31,22 +31,22 @@ package gc.stress.gcold;
|
||||||
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
||||||
* @summary Stress the GC by trying to make old objects more likely to be garbage than young objects.
|
* @summary Stress the GC by trying to make old objects more likely to be garbage than young objects.
|
||||||
*
|
*
|
||||||
* @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
* @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC -XX:+ShenandoahVerify gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
||||||
* @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
* @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC -XX:+ShenandoahVerify gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
||||||
* @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
* @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
||||||
* @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
* @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
||||||
*
|
*
|
||||||
* @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
* @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
||||||
* @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahAllocFailureALot gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
* @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahAllocFailureALot gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
||||||
* @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
* @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
||||||
*
|
*
|
||||||
* @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
* @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive -XX:+ShenandoahVerify gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
||||||
* @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=traversal -XX:+ShenandoahVerify gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
* @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=traversal -XX:+ShenandoahVerify gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
||||||
*
|
*
|
||||||
* @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
* @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
||||||
* @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=static gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
* @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=static gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
||||||
* @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
* @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
||||||
* @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=traversal gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
* @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=traversal gc.stress.gcold.TestGCOld 50 1 20 10 10000
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class TestGCOldWithShenandoah {
|
public class TestGCOldWithShenandoah {
|
||||||
|
|
|
@ -32,7 +32,7 @@ package gc.stress.systemgc;
|
||||||
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
* @requires vm.gc.Shenandoah & !vm.graal.enabled
|
||||||
* @summary Stress the Shenandoah GC full GC by allocating objects of different lifetimes concurrently with System.gc().
|
* @summary Stress the Shenandoah GC full GC by allocating objects of different lifetimes concurrently with System.gc().
|
||||||
* @run main/othervm/timeout=300 -Xlog:gc*=info -Xmx512m -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+ShenandoahVerify -XX:+UseShenandoahGC gc.stress.systemgc.TestSystemGCWithShenandoah 270
|
* @run main/othervm/timeout=300 -Xlog:gc*=info -Xmx512m -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+ShenandoahVerify -XX:+UseShenandoahGC gc.stress.systemgc.TestSystemGCWithShenandoah 270
|
||||||
* @run main/othervm/timeout=300 -Xlog:gc*=info -Xmx512m -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+ShenandoahVerify -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=traversal gc.stress.systemgc.TestSystemGCWithShenandoah 270
|
* @run main/othervm/timeout=300 -Xlog:gc*=info -Xmx512m -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+ShenandoahVerify -XX:+UseShenandoahGC -XX:ShenandoahGCMode=traversal gc.stress.systemgc.TestSystemGCWithShenandoah 270
|
||||||
* @run main/othervm/timeout=300 -Xlog:gc*=info -Xmx512m -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC gc.stress.systemgc.TestSystemGCWithShenandoah 270
|
* @run main/othervm/timeout=300 -Xlog:gc*=info -Xmx512m -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC gc.stress.systemgc.TestSystemGCWithShenandoah 270
|
||||||
*/
|
*/
|
||||||
public class TestSystemGCWithShenandoah {
|
public class TestSystemGCWithShenandoah {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue