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

aarch64: C2 generates illegal instructions with int shifts >=32

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
      None
    • Environment:

      aarch64 development board

    • Subcomponent:
    • Resolved In Build:
      b81
    • CPU:
      aarch64
    • OS:
      linux

      Backports

        Description

        C2 can generate illegal instructions with int shifts >=32 combined with a logical operation.

        The following test program provokes the problem

        --- CUT HERE ---
        public class SigILL {
            public static void main(String[] args) {
                int res = 0;
                for (int i=0; i<2000; i++) {
                    for (int j=0; j < 2000; j++) {
                       res += i | (j >>> 53);
                    }
                }
                System.out.println("res = " + res);
            }
        }
        --- CUT HERE ---

        This generates

        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # SIGILL (0x4) at pc=0x000003ff65340e74, pid=45993, tid=4395797115376
        #
        # JRE version: OpenJDK Runtime Environment (7.0_51-b31) (build 1.7.0_51-b31)
        # Java VM: OpenJDK 64-Bit Server VM (25.0-b70 mixed mode linux-aarch64 compressed oops)
        # Problematic frame:
        # J 57% C2 SigILL.main([Ljava/lang/String;)V (67 bytes) @ 0x000003ff65340e74 [0x000003ff65340e00+0x74]
        #
        # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
        #
        # An error report file with more information is saved as:
        # /home/ed/tmp/hs_err_pid45993.log
        #
        # If you would like to submit a bug report, please visit:
        # http://bugreport.sun.com/bugreport/crash.jsp
        #
        Aborted

          Activity

          Hide
          hgupdate HG Updates added a comment -
          URL: http://hg.openjdk.java.net/jdk9/hs-comp/hotspot/rev/dbc1274bac56
          User: enevill
          Date: 2015-08-20 17:11:41 +0000
          Show
          hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk9/hs-comp/hotspot/rev/dbc1274bac56 User: enevill Date: 2015-08-20 17:11:41 +0000
          Hide
          hgupdate HG Updates added a comment -
          URL: http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/dbc1274bac56
          User: lana
          Date: 2015-09-09 21:33:20 +0000
          Show
          hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/dbc1274bac56 User: lana Date: 2015-09-09 21:33:20 +0000

            People

            • Assignee:
              enevill Ed Nevill
              Reporter:
              enevill Ed Nevill
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 2 days
                2d
                Remaining:
                Remaining Estimate - 2 days
                2d
                Logged:
                Time Spent - Not Specified
                Not Specified