Details
-
Bug
-
Resolution: Fixed
-
P3
-
8
-
b01
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8208913 | 8u201 | Kevin Walls | P3 | Resolved | Fixed | b01 |
JDK-8216733 | emb-8u201 | Kevin Walls | P3 | Resolved | Fixed | master |
JDK-8213205 | 7u221 | Kevin Walls | P3 | Resolved | Fixed | b01 |
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.
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
- backported by
-
JDK-8208913 [8u] DWORD64 required for later Windows compilers
- Resolved
-
JDK-8213205 [8u] DWORD64 required for later Windows compilers
- Resolved
-
JDK-8216733 [8u] DWORD64 required for later Windows compilers
- Resolved