JDK-6863216 : Clean up debugging debris inadvertently pushed with 6700789
  • Type: Bug
  • Status: Resolved
  • Resolution: Fixed
  • Component: hotspot
  • Sub-Component: gc
  • Priority: P3
  • Affected Version: hs16
  • OS: generic
  • CPU: generic
  • Submit Date: 2009-07-22
  • Updated Date: 2010-04-02
  • Resolved Date: 2009-07-29
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availabitlity Release.

To download the current JDK release, click here.
JDK 6 JDK 7
6u18Fixed 7Fixed
Description
There were two changes, one in g1CollectedHeap.cpp and another in cfgnode.cpp,
intended for debugging/working around issues which got inadvertently pushed into
hotspot-gc and hotspot repos:-

--- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Tue Jul 07 14:23:00 2009 -0400
+++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Tue Jul 14 15:40:39 2009 -0700
@@ -1655,11 +1655,14 @@ void G1CollectedHeap::iterate_dirty_card
// Computes the sum of the storage used by the various regions.
size_t G1CollectedHeap::used() const {
- assert(Heap_lock->owner() != NULL,
- "Should be owned on this thread's behalf.");
+ // Temporarily, until 6859911 is fixed. XXX
+ // assert(Heap_lock->owner() != NULL,
+ // "Should be owned on this thread's behalf.");
size_t result = _summary_bytes_used;
- if (_cur_alloc_region != NULL)
- result += _cur_alloc_region->used();
+ // Read only once in case it is set to NULL concurrently
+ HeapRegion* hr = _cur_alloc_region;
+ if (hr != NULL)
+ result += hr->used();
return result;
} 

--- a/src/share/vm/opto/cfgnode.cpp Thu Mar 12 18:16:36 2009 -0700
+++ b/src/share/vm/opto/cfgnode.cpp Tue Jul 14 15:40:39 2009 -0700
@@ -1789,7 +1789,7 @@ Node *PhiNode::Ideal(PhaseGVN *phase, bo
#ifdef _LP64
// Push DecodeN down through phi.
// The rest of phi graph will transform by split EncodeP node though phis up.
- if (UseCompressedOops && can_reshape && progress == NULL) {
+ if (UseNewCode && UseCompressedOops && can_reshape && progress == NULL) {
bool may_push = true;
bool has_decodeN = false;
Node* in_decodeN = NULL;


We need to back out these unintended deltas.

Comments
EVALUATION http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/36b5611220a7
2009-07-24

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/36b5611220a7
2009-07-23

SUGGESTED FIX Here's the obvious anti-delta:- diff -r f0a1cbbaf3c0 src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Thu Jul 16 12:38:26 2009 -0700 +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Wed Jul 22 10:58:06 2009 -0700 @@ -1655,9 +1655,8 @@ void G1CollectedHeap::iterate_dirty_card // Computes the sum of the storage used by the various regions. size_t G1CollectedHeap::used() const { - // Temporarily, until 6859911 is fixed. XXX - // assert(Heap_lock->owner() != NULL, - // "Should be owned on this thread's behalf."); + assert(Heap_lock->owner() != NULL, + "Should be owned on this thread's behalf."); size_t result = _summary_bytes_used; // Read only once in case it is set to NULL concurrently HeapRegion* hr = _cur_alloc_region; diff -r f0a1cbbaf3c0 src/share/vm/opto/cfgnode.cpp --- a/src/share/vm/opto/cfgnode.cpp Thu Jul 16 12:38:26 2009 -0700 +++ b/src/share/vm/opto/cfgnode.cpp Wed Jul 22 10:58:06 2009 -0700 @@ -1789,7 +1789,7 @@ Node *PhiNode::Ideal(PhaseGVN *phase, bo #ifdef _LP64 // Push DecodeN down through phi. // The rest of phi graph will transform by split EncodeP node though phis up. - if (UseNewCode && UseCompressedOops && can_reshape && progress == NULL) { + if (UseCompressedOops && can_reshape && progress == NULL) { bool may_push = true; bool has_decodeN = false; Node* in_decodeN = NULL;
2009-07-22

EVALUATION Yes.
2009-07-22