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

AArch64: method handle invocation does not respect JVMTI interp_only mode

    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: