8145204: JVM can hang when ParGCArrayScanChunk=4294967296 and ParallelGC is used

Changed the max value of ParGCArrayScanChunk to max_jint/3

Reviewed-by: jwilhelm, drwhite
This commit is contained in:
Sangheon Kim 2016-03-07 01:20:12 -08:00
parent 34effca3ac
commit 74cc38ff12
3 changed files with 6 additions and 10 deletions

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -247,6 +247,9 @@ void emit_range_size_t(const char* /*name*/) { /* NOP */ }
void emit_range_double(const char* /*name*/) { /* NOP */ }
// CommandLineFlagRange emitting code functions if range arguments are provided
void emit_range_int(const char* name, int min, int max) {
CommandLineFlagRangeList::add(new CommandLineFlagRange_int(name, min, max));
}
void emit_range_intx(const char* name, intx min, intx max) {
CommandLineFlagRangeList::add(new CommandLineFlagRange_intx(name, min, max));
}

View File

@ -1603,10 +1603,10 @@ public:
product(bool, ResizePLAB, true, \
"Dynamically resize (survivor space) promotion LAB's") \
\
product(intx, ParGCArrayScanChunk, 50, \
product(int, ParGCArrayScanChunk, 50, \
"Scan a subset of object array and push remainder, if array is " \
"bigger than this") \
range(1, max_intx) \
range(1, max_jint/3) \
\
product(bool, ParGCUseLocalOverflow, false, \
"Instead of a global overflow list, use local overflow stacks") \

View File

@ -83,13 +83,6 @@ public class TestOptionsWithRanges {
setAllowedExitCodes("SharedMiscDataSize", 2);
setAllowedExitCodes("SharedMiscCodeSize", 2);
/*
* JDK-8145204
* Temporarily remove testing of max range for ParGCArrayScanChunk because
* JVM can hang when ParGCArrayScanChunk=4294967296 and ParallelGC is used
*/
excludeTestMaxRange("ParGCArrayScanChunk");
/*
* Remove CICompilerCount from testing because currently it can hang system
*/