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

PPC: Crash after C1 checkcast patched and GC

    Details

    • Subcomponent:
    • Resolved In Build:
      b11
    • CPU:
      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

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

                  Dates

                  • Created:
                    Updated:
                    Resolved: