RFR: 8079315: UseCondCardMark broken in conjunction with CMS precleaning

Andrew Dinn adinn at redhat.com
Wed May 6 11:04:26 UTC 2015

On 05/05/15 17:53, Aleksey Shipilev wrote:
> On 05.05.2015 19:20, Andrew Haley wrote: But I am suspicious about
> the whole interaction between mutator and collector. Cautiously
> speaking, every time I see a conditional update in a concurrent
> code, I expect some form of atomic CAS that provides a global order
> w.r.t. the particular memory location.

Yeah, me too. Even on x86 this ought to be an issue.

I suspect we don't ever see it because in order for an error to
manifest we require a basket-case program. I am imagining code which
continuously writes an object location with successive objects that
are not referenced from anywhere else after each write (so as to make
the GC lose a valid object reference) yet does this without performing
any (well, not very many) operations that involve a memory sync. It's
hard to think of how you might implement a test case.


Andrew Dinn

More information about the hotspot-dev mailing list