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

Christian Thalinger christian.thalinger at oracle.com
Thu Apr 14 09:12:37 UTC 2011


On Apr 13, 2011, at 7:08 PM, John Cuthbertson wrote:
> Hi Everyone,
> 
> I have a new webrev for this CR here: http://cr.openjdk.java.net/~johnc/7035117/webrev.1/
> 
> The changes include Tom's suggestion to use ConX in C2 code and the fix for the same test in tiered compilation/C1.

-  Register thread_reg = thread()->as_register();
+  Register thread_reg = NOT_LP64(thread()->as_register()) LP64_ONLY(thread()->as_register_lo());

I'm not an expert here but could you use as_pointer_register here instead?

-- Christian

> 
> Testing: the failing test case, nsk tests, jprt.
> 
> Thanks,
> 
> JohnC
> 
> On 04/08/11 11:04, 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