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

PPC: Crash after C1 checkcast patched and GC

    XMLWordPrintable

    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: