RFR(XS): 7035177: G1: nsk/stress/jni/jnistress002 fails with an assertion failure caused by changes for 7009266

Tom Rodriguez tom.rodriguez at oracle.com
Fri Apr 8 18:31:47 UTC 2011


Actually you want to write this:

  Node* referent_off = __ ConX(java_lang_ref_Reference::referent_offset);

which will pick ConL in 64 bit and ConI in 32 bit.  Sorry I didn't catch this in the review.

tom

On Apr 8, 2011, at 11:04 AM, John Cuthbertson wrote:

> Hi Everyone,
> 
> Can I have a couple of volunteers to look over the fix for this CR? The webrev can be found at: http://cr.openjdk.java.net/~johnc/7035177/webrev.0/.
> 
> The problem is that the node representing the offset (in an Unsafe.getObject compilation) could be typed as a long and generating the compare of offset against java_lang_ref_Reference::referent_offset (typed as an int) caused an assertion failure about the mis-matching types.
> 
> The fix is to generate a suitably typed constant based upon the type of "offset".
> 
> Tested using the failing test case from the nightly tests.
> 
> Thanks,
> 
> JohnC




More information about the hotspot-gc-dev mailing list