[8u] RFR(XS): 8205440: [8u] DWORD64 required for later Windows compilers
Kevin Walls
kevin.walls at oracle.com
Mon Jun 25 12:36:37 UTC 2018
Hi,
I'd like to get a review of a small change which will help enable
compilation on Windows with later Visual Studio compilers:
8205440: [8u] DWORD64 required for later Windows compilers
https://bugs.openjdk.java.net/browse/JDK-8205440
The change is:
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;
This change is inside Handle_IDiv_Exception, and is within an #ifdef
_M_AMD64 (there is use of DWORD in the #else). At other points in the
same file we correctly use DWORD64 already. If that's unclear of needs
a webrev I'll produce one...
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.
I've been running with this change in my local builds with VS2017 and
jprt builds with the regular 8u compiler.
Thanks
Kevin
More information about the hotspot-dev
mailing list