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

PPC: Crash after C1 checkcast patched and GC

    XMLWordPrintable

Details

    • b11
    • ppc

    Backports

      Description

        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

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                  Created:
                  Updated:
                  Resolved: