-
Type:
Bug
-
Resolution: Fixed
-
Priority:
P1
-
Affects Version/s: 9
-
Component/s: hotspot
-
b66
-
b176
-
Verified
| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
|---|---|---|---|---|---|---|
| JDK-8183999 | 10 | Roland Westrelin | P1 | Resolved | Fixed | b15 |
| JDK-8183407 | 9.0.4 | Roland Westrelin | P1 | Resolved | Fixed | b01 |
Following 2 tests currently fail because the load of dst[1] bypasses the arraycopy to load from src but uses the wrong memory state.
static int test3(int[] src) {
int[] dst = new int[10];
System.arraycopy(src, 0, dst, 0, 10);
src[1] = 0x42;
return dst[1];
}
static int test4(int[] src) {
int[] dst = (int[])src.clone();
src[1] = 0x42;
return dst[1];
}
static int test3(int[] src) {
int[] dst = new int[10];
System.arraycopy(src, 0, dst, 0, 10);
src[1] = 0x42;
return dst[1];
}
static int test4(int[] src) {
int[] dst = (int[])src.clone();
src[1] = 0x42;
return dst[1];
}
- backported by
-
JDK-8183407 Load that bypasses arraycopy has wrong memory state
-
- Resolved
-
-
JDK-8183999 Load that bypasses arraycopy has wrong memory state
-
- Resolved
-
- relates to
-
JDK-8370416 C2: Optimizing away arraycopy leads to wrong execution
-
- Open
-
-
JDK-8179678 ArrayCopy with same src and dst can cause incorrect execution or compiler crash
-
- Closed
-
-
JDK-8076188 Optimize arraycopy out for non escaping destination
-
- Resolved
-