Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8219582

PPC: Crash after C1 checkcast patched and GC

XMLWordPrintable

    • b11
    • ppc

        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

              akozlov Anton Kozlov
              akozlov Anton Kozlov
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: