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

Remove useless comparation in LibraryCallKit::inline_vector_convert()

    XMLWordPrintable

Details

    • aarch64
    • generic

    Description

      reproduce :

      java --add-modules=jdk.incubator.vector TestCast4STo2I

      crash :

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/home/wanghuang/repo/jdk/src/hotspot/share/opto/matcher.cpp:1685), pid=87530, tid=87069
      # assert(false) failed: bad AD file
      #
      # JRE version: OpenJDK Runtime Environment (17.0) (slowdebug build 17-internal+0-adhoc.wanghuang.jdk)
      # Java VM: OpenJDK 64-Bit Server VM (slowdebug 17-internal+0-adhoc.wanghuang.jdk, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
      # Problematic frame:
      # V [libjvm.so+0xedf474] Matcher::Label_Root(Node const*, State*, Node*, Node*&)+0x5a4
      #
      # Core dump will be written. Default location: /home/wanghuang/repo/jdk/core.%e.87530.%t
      #
      # If you would like to submit a bug report, please visit:
      # https://bugreport.java.com/bugreport/crash.jsp
      #

      crash stack:

      Current thread (0x0000ffffb04e4870): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=87069, stack(0x0000ffff42e00000,0x0000ffff43000000)]


      Current CompileTask:
      C2: 2136 780 4 TestCast4STo2I::testVectorCastS2I (28 bytes)

      Stack: [0x0000ffff42e00000,0x0000ffff43000000], sp=0x0000ffff42ffa870, free space=2026k
      Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0xedf474] Matcher::Label_Root(Node const*, State*, Node*, Node*&)+0x5a4
      V [libjvm.so+0xedea00] Matcher::match_tree(Node const*)+0x1d0
      V [libjvm.so+0xedd00c] Matcher::xform(Node*, int)+0x184
      V [libjvm.so+0xed9ac0] Matcher::match()+0xb50
      V [libjvm.so+0x82f404] Compile::Code_Gen()+0x70
      V [libjvm.so+0x826f8c] Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)+0x10bc
      V [libjvm.so+0x70b758] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x10c
      V [libjvm.so+0x843600] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x778
      V [libjvm.so+0x842364] CompileBroker::compiler_thread_loop()+0x378
      V [libjvm.so+0x866e9c] CompilerThread::thread_entry(JavaThread*, Thread*)+0x84
      V [libjvm.so+0x128c968] JavaThread::thread_main_inner()+0x178
      V [libjvm.so+0x128c7dc] JavaThread::run()+0x19c
      V [libjvm.so+0x1289c1c] Thread::call_run()+0x19c
      V [libjvm.so+0xfdc6c0] thread_native_entry(Thread*)+0x1e4
      C [libpthread.so.0+0x78bc] start_thread+0x19c

      reason:

      * aarch64 can only accept VectorReinterpret with 64/128 bits.
      * I will fix this bug by adding a rule for VectorReinterpret in match_rule_supported_vector

      Attachments

        Issue Links

          Activity

            People

              whuang Wang Huang
              whuang Wang Huang
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: