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

AArch64: method handle invocation does not respect JVMTI interp_only mode

XMLWordPrintable

    • svc
    • b27
    • aarch64
    • linux

        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.

              njian Ningsheng Jian (Inactive)
              yzhang Yang Zhang
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: