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

IntrinsicDisabledTest fails because intrinsic is available (although it should not be)

    Details

      Description

      The test IntrinsicDisabledTest.java is supposed to verify that the DisableIntrinsic flag works properly. Recently, the test has failed in JPRT on linux_x64 with the following message:

      STDOUT:
      CompileCommand: option jdk/internal/misc/Unsafe.putChar const char* DisableIntrinsic = '_getCharVolatile _getInt'
      CompileCommand: option jdk/internal/misc/Unsafe.putCharVolatile const char* DisableIntrinsic = '_getIntVolatile'
      STDERR:
      java.lang.RuntimeException: Intrinsic for [public native void jdk.internal.misc.Unsafe.putIntVolatile(java.lang.Object,long,int)] is available for intrinsification in [public native char jdk.internal.misc.Unsafe.getChar(java.lang.Object,long)] although it should not be.
      at IntrinsicDisabledTest.test(IntrinsicDisabledTest.java:198)
             at IntrinsicDisabledTest.main(IntrinsicDisabledTest.java:205)

      Note, at IntrinsicDisabledTest.java:205 we are testing C1: test(COMP_LEVEL_SIMPLE);

      The failure does not repeat after the test is rerun, so the problem could be intermittent.

      By looking at the test, the underlying problem could be on of the following:
      - (1) attempting to disable a specific intrinsic on the command-line does not disable that intrinsic
      - (2) the intrinsic is disabled but the WB API reports the intrinsic's status incorrectly.

        Attachments

          Activity

            People

            • Assignee:
              neliasso Nils Eliasson
              Reporter:
              zmajo Zoltan Majo (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated: