Mercurial > hg > graal-compiler
diff src/os/windows/vm/os_windows.cpp @ 4979:18a5539bf19b
More diff vs hsx24 optimizations.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Mon, 27 Feb 2012 21:43:51 +0100 |
parents | 33df1aeaebbf |
children | 957c266d8bc5 |
line wrap: on
line diff
--- a/src/os/windows/vm/os_windows.cpp Mon Feb 27 18:31:27 2012 +0100 +++ b/src/os/windows/vm/os_windows.cpp Mon Feb 27 21:43:51 2012 +0100 @@ -407,6 +407,7 @@ } } + if (UseVectoredExceptions) { // If we are using vectored exception we don't need to set a SEH thread->run(); @@ -2087,9 +2088,11 @@ #elif _M_AMD64 PCONTEXT ctx = exceptionInfo->ContextRecord; address pc = (address)ctx->Rip; - //assert(pc[0] == 0xF7 || (pc[1] == 0xF7 && (pc[0] == 0x41 || pc[0] == 0x49)), "not an idiv opcode"); - //assert((pc[1] & ~0x7) == 0xF8, "cannot handle non-register operands"); - //assert((long)ctx->Rax == (long)min_jint || pc[0] == 0x49, "unexpected idiv exception"); +#ifndef GRAAL + assert(pc[0] == 0xF7, "not an idiv opcode"); + assert((pc[1] & ~0x7) == 0xF8, "cannot handle non-register operands"); + assert(ctx->Rax == min_jint, "unexpected idiv exception"); +#endif // 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