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.
|