[8u] RFR(XS): 8205440: [8u] DWORD64 required for later Windows compilers

David Holmes david.holmes at oracle.com
Mon Jun 25 22:54:16 UTC 2018


Seems fine Kevin.

Thanks,
David

On 25/06/2018 10:36 PM, Kevin Walls wrote:
> 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