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

[8u] DWORD64 required for later Windows compilers

    XMLWordPrintable

Details

    • b01

    Backports

      Description

        To compile with later Windows compilers, e.g. VS2017, DWORD is an error here:

        src/os/windows/vm/os_windows.cpp

        @@ -2261,9 +2296,9 @@
           assert((pc[1] & ~0x7) == 0xF8, "cannot handle non-register operands");
           assert(ctx->Rax == min_jint, "unexpected idiv exception");
           // set correct result values and continue after idiv instruction
        - ctx->Rip = (DWORD)pc + 2; // idiv reg, reg is 2 bytes
        - ctx->Rax = (DWORD)min_jint; // result
        - ctx->Rdx = (DWORD)0; // remainder
        + ctx->Rip = (DWORD64)pc + 2; // idiv reg, reg is 2 bytes
        + ctx->Rax = (DWORD64)min_jint; // result
        + ctx->Rdx = (DWORD64)0; // remainder
           // Continue the execution
           #else
           PCONTEXT ctx = exceptionInfo->ContextRecord;


        In JDK9, these DWORD changed to DWORD64 as a minor byproduct of:
        8136421: JEP 243: Java-Level JVM Compiler Interface
        ...which we aren't implementing in jdk8 right now.

        Attachments

          Issue Links

            Activity

              People

                kevinw Kevin Walls
                kevinw Kevin Walls
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: