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

SharedRuntime::resolve* should respect interpreter-only mode

XMLWordPrintable

    • b19

      JavaThread::set_interp_only_mode may be called while a thread is blocked waiting for a JIT compilation to complete. This happens often with -Xcomp. The VM will enter the compiled code once the compilation finishes. As a consequence, the assumption for interp_only_mode does not hold, i.e., the VM will still dispatch to compiled code for threads that are in interp_only_mode. Assertions based on this assumption will fail. For example, vmTestbase/nsk/jdi tests fail on libgraal at this assertion: https://github.com/openjdk/jdk/blob/8817ba450c0eac6f7c1ff19b16c11a26ff2ed109/src/hotspot/share/prims/jvmtiThreadState.cpp#L867

      To reproduce, use the following command:

      make test TEST_VM_OPTS="-Xcomp -XX:-TieredCompilation -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler" TEST=vmTestbase/nsk/jdi/VirtualMachine/setDefaultStratum/setDefaultStratum003/setDefaultStratum003.java JDK_UNDER_TEST=/path/to/libgraal_build

            yzheng Yudi Zheng
            yzheng Yudi Zheng
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: