-
Bug
-
Resolution: Fixed
-
P1
-
9
-
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-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
-