This commit is contained in:
Thomas Schatzl 2016-02-10 12:32:46 +00:00
commit db86c9cfb5
4 changed files with 15 additions and 12 deletions

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -60,7 +60,7 @@ void ConcurrentGCThread::initialize_in_thread() {
void ConcurrentGCThread::wait_for_universe_init() { void ConcurrentGCThread::wait_for_universe_init() {
MutexLockerEx x(CGC_lock, Mutex::_no_safepoint_check_flag); MutexLockerEx x(CGC_lock, Mutex::_no_safepoint_check_flag);
while (!is_init_completed() && !_should_terminate) { while (!is_init_completed() && !_should_terminate) {
CGC_lock->wait(Mutex::_no_safepoint_check_flag, 200); CGC_lock->wait(Mutex::_no_safepoint_check_flag, 1);
} }
} }

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -32,7 +32,7 @@ class ConcurrentGCThread: public NamedThread {
friend class VMStructs; friend class VMStructs;
protected: protected:
bool _should_terminate; bool volatile _should_terminate;
bool _has_terminated; bool _has_terminated;
// Create and start the thread (setting it's priority high.) // Create and start the thread (setting it's priority high.)

View file

@ -2012,11 +2012,15 @@ public:
range(min_intx, 100) \ range(min_intx, 100) \
\ \
product(uintx, InitiatingHeapOccupancyPercent, 45, \ product(uintx, InitiatingHeapOccupancyPercent, 45, \
"Percentage of the (entire) heap occupancy to start a " \ "The percent occupancy (IHOP) of the current old generation " \
"concurrent GC cycle. It is used by GCs that trigger a " \ "capacity above which a concurrent mark cycle will be initiated " \
"concurrent GC cycle based on the occupancy of the entire heap, " \ "Its value may change over time if adaptive IHOP is enabled, " \
"not just one of the generations (e.g., G1). A value of 0 " \ "otherwise the value remains constant. " \
"denotes 'do constant GC cycles'.") \ "In the latter case a value of 0 will result as frequent as " \
"possible concurrent marking cycles. A value of 100 disables " \
"concurrent marking. " \
"Fragmentation waste in the old generation is not considered " \
"free space in this calculation. (G1 collector only)") \
range(0, 100) \ range(0, 100) \
\ \
manageable(intx, CMSTriggerInterval, -1, \ manageable(intx, CMSTriggerInterval, -1, \

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -181,8 +181,7 @@ void exit_globals() {
} }
} }
static volatile bool _init_completed = false;
static bool _init_completed = false;
bool is_init_completed() { bool is_init_completed() {
return _init_completed; return _init_completed;