- 
    Bug 
- 
    Resolution: Fixed
- 
     P3 P3
- 
    11, 12, 13
- 
        b11
- 
        ppc
| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build | 
|---|---|---|---|---|---|---|
| JDK-8220236 | 12.0.2 | Martin Doerr | P3 | Resolved | Fixed | b01 | 
| JDK-8220437 | 11.0.4 | Martin Doerr | P3 | Resolved | Fixed | b01 | 
                    Compiled method with checkcast instruction that will be patched may fail, if objects moved in heap during patching runtime call.
Example test:
class Test {
static class LoadLast {
final long value = System.nanoTime();
}
static Object load() {
return new LoadLast();
}
static Object work() {
LoadLast o = (LoadLast) load();
return o;
}
public static void main(String[] args) throws Exception {
System.out.println(((LoadLast) work()).value);
}
}
Flags to reproduce
-Xcomp -Xbatch
-XX:CompileCommand=quiet -XX:CompileOnly=Test::work
-XX:+PrintGC -XX:+TracePatching
-XX:+FullGCALot -XX:FullGCALotStart=2110
-XX:TieredStopAtLevel=1
Test
FullGCALotStart tuned to reduce number FullGCs but to make sure it will be done during checkcast patching, which accompanied with the message from TracePatching
Example test:
class Test {
static class LoadLast {
final long value = System.nanoTime();
}
static Object load() {
return new LoadLast();
}
static Object work() {
LoadLast o = (LoadLast) load();
return o;
}
public static void main(String[] args) throws Exception {
System.out.println(((LoadLast) work()).value);
}
}
Flags to reproduce
-Xcomp -Xbatch
-XX:CompileCommand=quiet -XX:CompileOnly=Test::work
-XX:+PrintGC -XX:+TracePatching
-XX:+FullGCALot -XX:FullGCALotStart=2110
-XX:TieredStopAtLevel=1
Test
FullGCALotStart tuned to reduce number FullGCs but to make sure it will be done during checkcast patching, which accompanied with the message from TracePatching
- backported by
- 
                    JDK-8220236 PPC: Crash after C1 checkcast patched and GC -           
- Resolved
 
-         
- 
                    JDK-8220437 PPC: Crash after C1 checkcast patched and GC -           
- Resolved
 
-