RFR (S): G1: Fix bug in graphKit.cpp accessing PtrQueue::_index

Doerr, Martin martin.doerr at sap.com
Fri Apr 19 05:02:55 PDT 2013


Hi all,

we found a bug in the G1 barriers generated by the C2 compiler.

In graphKit INT operations were generated to access PtrQueue::_index which
has type size_t. This is 64 bit on 64-bit machines. No problems occur on
little endian machines as long as the index fits into 32 bit, but on
big endian machines the upper part is read, which is zero. This leads
to unnecessary branches to the slow path into the runtime.

The fix introduces X operations where INT was used:
http://cr.openjdk.java.net/~goetz/webrevs/g1-size_t_bug/

This also removes a cast node.

We have also added a type T_X in globalDefinitions.hpp. Is there
already a mechanism to express this?

Please supply a bug id and review this change.

Best regards,
Martin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130419/621ee71e/attachment.html 


More information about the hotspot-compiler-dev mailing list