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

[8u] DWORD64 required for later Windows compilers

    Details

    • Subcomponent:
    • Resolved In Build:
      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

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

                  Dates

                  • Created:
                    Updated:
                    Resolved: