hg: jdk7/hotspot/hotspot: 4 new changesets

igor.veresov at sun.com igor.veresov at sun.com
Wed Nov 26 12:17:23 PST 2008


Changeset: 00b023ae2d78
Author:    ysr
Date:      2008-11-20 12:27 -0800
URL:       http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/00b023ae2d78

6722113: CMS: Incorrect overflow handling during precleaning of Reference lists
Summary: When we encounter marking stack overflow during precleaning of Reference lists, we were using the overflow list mechanism, which can cause problems on account of mutating the mark word of the header because of conflicts with mutator accesses and updates of that field. Instead we should use the usual mechanism for overflow handling in concurrent phases, namely dirtying of the card on which the overflowed object lies. Since precleaning effectively does a form of discovered list processing, albeit with discovery enabled, we needed to adjust some code to be correct in the face of interleaved processing and discovery.
Reviewed-by: apetrusenko, jcoomes

! src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp
! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp
! src/share/vm/memory/referenceProcessor.cpp
! src/share/vm/runtime/globals.hpp

Changeset: c96030fff130
Author:    ysr
Date:      2008-11-20 16:56 -0800
URL:       http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/c96030fff130

6684579: SoftReference processing can be made more efficient
Summary: For current soft-ref clearing policies, we can decide at marking time if a soft-reference will definitely not be cleared, postponing the decision of whether it will definitely be cleared to the final reference processing phase. This can be especially beneficial in the case of concurrent collectors where the marking is usually concurrent but reference processing is usually not.
Reviewed-by: jmasa

! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
! src/share/vm/gc_implementation/g1/concurrentMark.cpp
! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp
! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp
! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp
! src/share/vm/includeDB_core
! src/share/vm/memory/defNewGeneration.cpp
! src/share/vm/memory/genCollectedHeap.cpp
! src/share/vm/memory/genMarkSweep.cpp
! src/share/vm/memory/referencePolicy.cpp
! src/share/vm/memory/referencePolicy.hpp
! src/share/vm/memory/referenceProcessor.cpp
! src/share/vm/memory/referenceProcessor.hpp
! src/share/vm/memory/universe.cpp
! src/share/vm/utilities/macros.hpp

Changeset: df4305d4c1a1
Author:    ysr
Date:      2008-11-24 09:53 -0800
URL:       http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/df4305d4c1a1

6774607: SIGSEGV or (!is_null(v),"oop value can never be zero") assertion when running with CMS and COOPs
Summary: Use the more permissive set_klass_or_null() and klass_or_null() interfaces in ParNew's workqueue overflow code that manipulates the klass-word.
Reviewed-by: coleenp

! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
! src/share/vm/oops/oop.inline.hpp

Changeset: 434912c745cf
Author:    iveresov
Date:      2008-11-26 09:24 -0800
URL:       http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/434912c745cf

Merge

! src/share/vm/runtime/globals.hpp




More information about the jdk7-changes mailing list