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