diff src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp @ 1169:09646c4656ca

6915005: G1: Hang in PtrQueueSet::completed_buffers_list_length with gcl001 Summary: When enqueuing a completed PtrQueue buffer, cache a local pointer to the buffer and clear the field in the PtrQueue prior to unlocking the mutex referenced by the _lock field and pass the cached local value to the enqueuing routine. This will prevent the same completed buffer being enqueued multiple times, which causes the hang. Reviewed-by: ysr
author johnc
date Wed, 13 Jan 2010 15:45:47 -0800
parents 44f61c24ddab
children b81f3572f355
line wrap: on
line diff