[8u] RFR(XS): 8205440: [8u] DWORD64 required for later Windows compilers
david.holmes at oracle.com
Mon Jun 25 22:54:16 UTC 2018
Seems fine Kevin.
On 25/06/2018 10:36 PM, Kevin Walls wrote:
> 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
> The change is:
> @@ -2261,9 +2296,9 @@
> assert((pc & ~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
> 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.
More information about the hotspot-dev