--- a/hotspot/src/share/vm/memory/referenceProcessor.hpp Wed Feb 05 14:29:34 2014 +0100
+++ b/hotspot/src/share/vm/memory/referenceProcessor.hpp Thu Feb 06 14:12:43 2014 +0100
@@ -99,6 +99,7 @@
oop _referent;
OopClosure* _keep_alive;
BoolObjectClosure* _is_alive;
+ bool _discovered_list_needs_post_barrier;
DEBUG_ONLY(
oop _first_seen; // cyclic linked list check
@@ -112,7 +113,8 @@
public:
inline DiscoveredListIterator(DiscoveredList& refs_list,
OopClosure* keep_alive,
- BoolObjectClosure* is_alive):
+ BoolObjectClosure* is_alive,
+ bool discovered_list_needs_post_barrier = false):
_refs_list(refs_list),
_prev_next(refs_list.adr_head()),
_prev(NULL),
@@ -126,7 +128,8 @@
#endif
_next(NULL),
_keep_alive(keep_alive),
- _is_alive(is_alive)
+ _is_alive(is_alive),
+ _discovered_list_needs_post_barrier(discovered_list_needs_post_barrier)
{ }
// End Of List.
@@ -228,12 +231,12 @@
bool _discovery_is_mt; // true if reference discovery is MT.
// If true, setting "next" field of a discovered refs list requires
- // write barrier(s). (Must be true if used in a collector in which
+ // write post barrier. (Must be true if used in a collector in which
// elements of a discovered list may be moved during discovery: for
// example, a collector like Garbage-First that moves objects during a
// long-term concurrent marking phase that does weak reference
// discovery.)
- bool _discovered_list_needs_barrier;
+ bool _discovered_list_needs_post_barrier;
bool _enqueuing_is_done; // true if all weak references enqueued
bool _processing_is_mt; // true during phases when
@@ -380,8 +383,8 @@
protected:
// Set the 'discovered' field of the given reference to
- // the given value - emitting barriers depending upon
- // the value of _discovered_list_needs_barrier.
+ // the given value - emitting post barriers depending upon
+ // the value of _discovered_list_needs_post_barrier.
void set_discovered(oop ref, oop value);
// "Preclean" the given discovered reference list
@@ -425,7 +428,7 @@
bool mt_discovery = false, uint mt_discovery_degree = 1,
bool atomic_discovery = true,
BoolObjectClosure* is_alive_non_header = NULL,
- bool discovered_list_needs_barrier = false);
+ bool discovered_list_needs_post_barrier = false);
// RefDiscoveryPolicy values
enum DiscoveryPolicy {