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