RFR(s): 8013171: G1: C1 x86_64 barriers use 32-bit accesses to 64-bit PtrQueue::_index (original) (raw)
Per Liden per.liden at oracle.com
Thu Apr 23 08:52:21 UTC 2015
- Previous message: RFR(S): 8078482: ppc: pass thread to throw_AbstractMethodError
- Next message: RFR(s): 8013171: G1: C1 x86_64 barriers use 32-bit accesses to 64-bit PtrQueue::_index
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi,
(This change affects G1, but it's touching code in C1 so I'd like to ask someone from the compiler team to also reviewed this)
Summary: The G1 barriers loads and updates the PrtQueue::_index field. This field is a size_t but the C1 version of these barriers aren't 64-bit clean. The bug has more details.
In addition I've massaged the code a little bit, so that the 32-bit and 64-bit sections look more similar (and as a bonus I think we avoid an extra memory load on 32-bit).
Webrev: http://cr.openjdk.java.net/~pliden/8013171/webrev.0/ Bug: https://bugs.openjdk.java.net/browse/JDK-8013171
Testing:
- gc-test-suite on both 32 and 64-bit builds (with -XX:+UseG1GC -XX:+TieredCompilation -XX:TieredStopAtLevel=3 -XX:+VerifyAfterGC)
- Passes jprt
/Per
- Previous message: RFR(S): 8078482: ppc: pass thread to throw_AbstractMethodError
- Next message: RFR(s): 8013171: G1: C1 x86_64 barriers use 32-bit accesses to 64-bit PtrQueue::_index
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]