-
Bug
-
Resolution: Fixed
-
P3
-
hs24, hs25
-
b31
-
generic
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8014165 | 8 | John Cuthbertson | P3 | Resolved | Fixed | b89 |
JDK-8018343 | 7u45 | John Cuthbertson | P3 | Closed | Fixed | b01 |
JDK-8014610 | 7u40 | John Cuthbertson | P3 | Resolved | Fixed | b25 |
JDK-8014195 | hs24 | John Cuthbertson | P3 | Resolved | Fixed | b44 |
http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2013-April/010299.html
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
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
- backported by
-
JDK-8014165 G1: GraphKit accesses PtrQueue::_index as int but is size_t
-
- Resolved
-
-
JDK-8014195 G1: GraphKit accesses PtrQueue::_index as int but is size_t
-
- Resolved
-
-
JDK-8014610 G1: GraphKit accesses PtrQueue::_index as int but is size_t
-
- Resolved
-
-
JDK-8018343 G1: GraphKit accesses PtrQueue::_index as int but is size_t
-
- Closed
-
- relates to
-
JDK-8013171 G1: C1 x86_64 barriers use 32-bit accesses to 64-bit PtrQueue::_index
-
- Resolved
-