hg: jdk7/hotspot-gc/hotspot: 6770608: G1: Mutator thread can flush barrier and satb queues during safepoint; ...
igor.veresov at sun.com
igor.veresov at sun.com
Fri Nov 14 19:09:12 PST 2008
Changeset: da9cb4e97a5f
Author: iveresov
Date: 2008-11-14 14:23 -0800
URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/da9cb4e97a5f
6770608: G1: Mutator thread can flush barrier and satb queues during safepoint
6660573: G1: BigApps Failure : guarantee(satb_mq_set.completed_buffers_num() == 0,"invariant")
Summary: When exiting a mutator thread is removed from the thread list before it has a chance to flush its SATB and barrier queues. If GC happens at this moment the objects that are refererred from these queues can be moved, which will case a crash. The fix is simply to flush the buffers before removing a thread from the list.
Reviewed-by: jcoomes, tonyp
! src/share/vm/gc_implementation/g1/ptrQueue.cpp
! src/share/vm/gc_implementation/g1/ptrQueue.hpp
! src/share/vm/runtime/thread.cpp
! src/share/vm/runtime/thread.hpp
More information about the jdk7-changes
mailing list