RFR(XS): 7035117: G1: nsk/stress/jni/jnistress002 fails with an assertion failure caused by changes for 7009266
christian.thalinger at oracle.com
Thu Apr 14 02:12:37 PDT 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?
> Testing: the failing test case, nsk tests, jprt.
> 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.
More information about the hotspot-compiler-dev