RFR(S): G1: assert(da ? referent->is_oop() : referent->is_oop_or_null()) failed: referenceProcessor.cpp:1054
tony.printezis at oracle.com
Mon Oct 3 13:23:39 PDT 2011
It looks OK.
Could somebody else also have a quick look so that John can push it
today soon-ish? Thanks.
On 10/03/2011 04:09 PM, John Cuthbertson wrote:
> Hi Everyone,
> Can I have a couple of volunteers to review the changes for this CR?
> The webrev can be found at:
> During RSet scanning the reference processor was discovering a
> reference oop whose referent object failed the is_oop() test in the
> failing assert. It appears that is was being caused by a race between
> RSet updating (which did not perform reference discovery) and RSet
> scanning (which did) and so the reference processor could see a
> referent object that was in the process of being copied. To resolve
> this issue we have decided to not do reference discovery duing RSet
> Testing: The failing test case (with a 1ms delay between object
> forwarding and copying - which increases the frequency of hitting the
> assert almost 3x) on highly threaded SPARC T2 systems; OpenDS on x64.
More information about the hotspot-gc-dev