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

AArch64: method handle invocation does not respect JVMTI interp_only mode

    XMLWordPrintable

    Details

    • Subcomponent:
      svc
    • Resolved In Build:
      b27
    • CPU:
      aarch64
    • OS:
      linux

      Backports

        Description

        2 test cases of Java debug interface related failed on some AArch64 machines

        vmTestbase/vm/mlvm/indy/stress/jdi/breakpointInCompiledCode/Test.java
        vmTestbase/vm/mlvm/meth/func/jdi/breakpoint/Test.java

        When the interpreter dispatches a method, it should check the JavaThread::interp_only_mode_offset() field in the thread structure, and if it's non-zero call the interpreted entry point even if a compiled entry exists. When we use a java.lang.invoke.MethodHandle to invoke a method, the method dispatch is instead handled by a special intrinsic that's implemented in methodHandles_aarch64.cpp. This eventually calls MethodHandles::jump_from_method_handle which checks the JVMTI interp_mode_only flag. But the test is incorrect.

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                njian Ningsheng Jian
                Reporter:
                yzhang Yang Zhang
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: